optioncanvas.java
来自「使用java 开发的手机小游戏」· Java 代码 · 共 131 行
JAVA
131 行
import javax.microedition.lcdui.*;
public class OptionCanvas extends Canvas {
MenuCanvas BCai;
Display display;
int menuY;
Image imgBg = null;//背景
Image imgSoundOn = null;
Image imgOnNormal = null;
Image imgSoundOff = null;
Image imgOffNormal = null;
Image imgSound = null;
Graphics bg; //后台缓存画图笔
Image buf; //后台缓存画图板
boolean bOnOff = true;
OptionCanvas(MenuCanvas BCai, Display display) {
buf = Image.createImage(180, 196); //将缓冲对象的Graphics附给bg
bg = buf.getGraphics();
this.setFullScreenMode(true);
this.BCai = BCai;
this.display = display;
menuY = 110;
try {
imgBg = Image.createImage("/picres/bg_map_blank.png");
imgSound = Image.createImage("/picres/sound_normal.png");
imgOnNormal = Image.createImage("/picres/on_normal.png");
imgSoundOn = Image.createImage("/picres/on.png");
imgOffNormal = Image.createImage("/picres/off_normal.png");
imgSoundOff = Image.createImage("/picres/off.png");
} catch (java.io.IOException e) {
System.out.println("picture problem");
}
}
public void paint(Graphics g) {
//画背景
bg.drawImage(imgBg, 0, 0, Graphics.TOP | Graphics.LEFT);
bg.drawImage(imgSound, 43, 70, Graphics.TOP | Graphics.LEFT);
bg.drawImage(imgSoundOn, 43, 110, Graphics.TOP | Graphics.LEFT);
bg.drawImage(imgSoundOff, 43, 130, Graphics.TOP | Graphics.LEFT);
switch (menuY) {
case 110:
bg.drawImage(imgOnNormal, 43, menuY, Graphics.TOP | Graphics.LEFT);
break;
case 130:
bg.drawImage(imgOffNormal, 43, menuY, Graphics.TOP | Graphics.LEFT);
break;
}
g.drawImage(buf, 0, 0, Graphics.LEFT | Graphics.TOP);
}
//返回是否加入背景音乐
public boolean getSoundSwitch() {
return bOnOff;
}
public void keyPressed(int keyCode) {
int k = getGameAction(keyCode);
System.out.println(k);
if (k == Canvas.UP) // Canvas.DOWN ,RIGHT,LEFT, FIRE
{
menuY -= 20;
if (menuY < 110)
menuY = 130;
repaint();
} else if (k == Canvas.DOWN) // Canvas.DOWN ,RIGHT,LEFT, FIRE
{
menuY += 20;
if (menuY > 130)
menuY = 110;
repaint();
} else if (k == 8 || keyCode == -7) {
ProcessCommand();
System.out.println(bOnOff);
BackCommand();
}
else if (keyCode == -6) {
System.out.println(bOnOff);
BackCommand();
}
}
public void BackCommand() {
if (!BCai.fd) {
if (bOnOff)
BCai.bgmap.Sound();
else
BCai.bgmap.StopSound();
BCai.PT = 1;
BCai.menuY = 74;
} else {
BCai.PT = 1;
BCai.menuY = 59;
}
display.setCurrent(BCai);
BCai.repaint();
}
public void ProcessCommand() {
if (menuY == 110) {
bOnOff = true;
} else if (menuY == 130) {
bOnOff = false;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?