📄 startcanvas.java
字号:
package popo;import java.util.Vector;import java.io.*;import java.io.IOException;import javax.microedition.lcdui.*;import java.util.Random;import javax.microedition.rms.*;import com.nokia.mid.ui.*;//运行start画面,并且进行选择,如果选中start则调用canvas运行游戏,否则退出class StartCanvas extends FullCanvas{ Display display; MainCanvas mainCanvas; popoGame game; private Form GaugeForm; private Gauge gameGauge; private Alert alert; private final String GameName = "PopoName";//游戏名称 private final String[ ] imageName = {"/hong00","/huang00","/lan00","/lv00","/zi00","/cheng00","/run"}; /** Vector of images to display */ private Vector images; private Vector mainImages; private int frameWidth, frameHeight; private int chooseHeight;//当前按钮的位置 private int chooseStart,chooseExit; //start按钮的高度,Exit按钮的高度 public StartCanvas(popoGame game) { frameWidth = getWidth(); frameHeight = getHeight(); chooseStart = frameHeight - 65; chooseExit = frameHeight - 40; chooseHeight = chooseStart; this.game = game; this.display = game.display; mainCanvas = new MainCanvas(this); alert = new Alert("Warning"); } protected void keyPressed(int keyCode) { int chooseAction = getGameAction(keyCode); switch (chooseAction) { case UP: if(chooseHeight == chooseExit) { chooseHeight = chooseStart; repaint(); } break; case DOWN: if(chooseHeight == chooseStart) { chooseHeight = chooseExit; repaint(); } break; case FIRE: if(chooseHeight == chooseStart){ StartGame(); } if(chooseHeight == chooseExit){ game.destroyApp(false); game.notifyDestroyed(); } break; default: break; } } void reset() { images = null; } void setImages(Vector images) { this.images = images; } void StartGame() { if(mainImages == null) { mainImages = new Vector(5); try {try { String name; // Try for a sequence of images. for (int i = 0; i<7; i++) { for(int j = 1; j<=3; j++){ name = imageName[i] + j + ".png"; mainImages.addElement(createImage(name)); } } name = "/chooser.png"; mainImages.addElement(createImage(name)); //translate images to mainCanvas mainCanvas.setImages(mainImages); display.setCurrent(mainCanvas);} catch (IOException io_ex) { mainImages = null; alert.setString("Images could not be loaded."); alert.setTimeout(Alert.FOREVER); display.setCurrent(alert);}} catch (OutOfMemoryError err) { mainImages = null; alert.setString("Not enough memory for all images."); alert.setTimeout(Alert.FOREVER); display.setCurrent(alert); } } else { display.setCurrent(mainCanvas); } } private Image createImage(String name) throws IOException { return Image.createImage(name); } protected void paint(Graphics g) { //填充底色 g.setColor(0xffffff);//白色 g.fillRect(0, 0, frameWidth, frameHeight); if (images != null ) { g.drawImage((Image)images.elementAt(0),//主界面 0, 0, Graphics.LEFT|Graphics.TOP); g.drawImage((Image)images.elementAt(1),//选择按钮 25, chooseHeight, Graphics.LEFT|Graphics.TOP); } } public void destroyApp(boolean unconditional) { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -