?? drawcenter.java
字號:
package pushbook.core;
import java.awt.*;
import javax.swing.*;
import pushbook.*;
import java.awt.image.*;
/**
* <p>Title: 推箱子</p>
* <p>Description: 繪制中心,提供各種游戲元素的繪制</p>
* <p>Copyright: 無版權</p>
* <p>Company: 吉林省前郭爾羅斯蒙古族自治縣第五高級中學</p>
* @author 鄭雪
* @version 1.0
*/
public class DrawCenter
{
VolatileImage t = null;
/**
* 繪制指定對象
*/
public void drawElement(GameElement e, MainFrame mainframe)
{
e.drawMe(mainframe.getGraphics(),mainframe);
}
/**
* 重新繪制所有對象
* @param mainframe MainFrame
*/
public void reDrawAll(Frame mainframe)
{
if(t == null) t = mainframe.createVolatileImage(mainframe.getWidth(),mainframe.getHeight());
Graphics g = t.getGraphics();
drawGameArea(g, mainframe);
drawScoreArea(g, mainframe);
mainframe.getGraphics().drawImage(t,0,0,mainframe);
}
/**
* 繪制游戲區域
* @param g Graphics
*/
public void drawGameArea(Graphics g,Frame mainframe)
{
Color currentColor = g.getColor();
g.setColor(Invariable.gameMainBg);
g.fillRect(0,0,mainframe.getWidth(),mainframe.getHeight());
g.setColor(Invariable.gameAreaBg);
/*
g.fill3DRect(Invariable.gameAreaX,
Invariable.gameAreaY,
Invariable.gameAreaWidth,
Invariable.gameAreaHeight,
true);
*/
ControlCenter gameControlCenter = ((MainFrame)mainframe).gameControlCenter;
GameElement temp = null;
for (int i = 0; i < gameControlCenter.gameElements.size(); i++)
{
temp = (GameElement) gameControlCenter.gameElements.get(i);
temp.drawMe(g, mainframe);
}
g.setColor(currentColor);
}
/**
* 繪制積分區域
* @param g Graphics
*/
public void drawScoreArea(Graphics g,Frame mainframe)
{
Color currentColor = g.getColor();
g.drawImage((Image) ( (MainFrame) mainframe).gameControlCenter.stepsImage,
Invariable.scoreAreaX,Invariable.scoreAreaY,mainframe);
String step = String.valueOf(((MainFrame)mainframe).gameControlCenter.stepConter);
int tempnumber = 0;
for(int i=0;i<step.length();i++)
{
tempnumber = step.charAt(i)-'0';
g.drawImage( (Image) ( (MainFrame) mainframe).gameControlCenter.numberImage.get(tempnumber),
Invariable.scoreAreaX + 36 + i*18,
Invariable.scoreAreaY + 73, mainframe);
}
step = String.valueOf(((MainFrame)mainframe).gameControlCenter.stepConter +
((MainFrame)mainframe).gameControlCenter.stepSum);
for(int i=0;i<step.length();i++)
{
tempnumber = step.charAt(i)-'0';
g.drawImage( (Image) ( (MainFrame) mainframe).gameControlCenter.numberImage.get(tempnumber),
Invariable.scoreAreaX + 36 + i*18,
Invariable.scoreAreaY + 180, mainframe);
}
}
/**
* 顯示升級提示
* @param text String 提示字符串
*/
public void drawUpLevelText(Graphics g,String text)
{
Color currentColor = g.getColor();
g.setColor(Color.white);
g.fill3DRect((Invariable.windowWidth-Invariable.textAreaWidth)/2,
(Invariable.windowHeight-Invariable.textAreaHeight)/2,
Invariable.textAreaWidth,
Invariable.textAreaHeight,
true);
g.setColor(Color.black);
g.setFont(new Font("",Font.BOLD,18));
g.drawString(text,240,255);
g.setColor(currentColor);
MidiPlayer.getInstance("").stop();
try{Thread.currentThread().sleep(2000);}
catch(Exception e){}
}
/**
* 顯示結束語
* @param g Graphics
*/
public void drawEndText(Graphics g,Image img,MainFrame mf)
{
g.drawImage(img,
(Invariable.windowWidth-img.getWidth(mf))/2,
(Invariable.windowHeight-img.getHeight(mf))/2,mf);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -