canvasdemo1.java
来自「一本介绍手机游戏开发的书中的源代码」· Java 代码 · 共 85 行
JAVA
85 行
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.Random;
public class canvasDemo1 extends MIDlet
{
Display display;
canvasPaint canvaspaint;
public canvasDemo1()
{
canvaspaint=new canvasPaint();
display=Display.getDisplay(this);
}
public void startApp()
{
display.setCurrent(canvaspaint);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
class canvasPaint extends Canvas
{
int gameaction=0;
int watchPaint=0;
int x=0;
int y=0;
int width=0;
int height=0;
Random typeRand;
boolean viewPaint;
Image[] pictureImage;
public canvasPaint()
{
try{
pictureImage=new Image[]{
Image.createImage("/picture1.png"),
Image.createImage("/picture2.png"),
Image.createImage("/picture3.png")
};
}catch(Exception ex){}
typeRand=new Random();
}
public void keyPressed(int keyCode)
{
gameaction=getGameAction(keyCode);
switch(gameaction)
{
case LEFT:
viewPaint=false;
watchPaint--;
if(watchPaint<0) watchPaint=2;
repaint();
break;
case RIGHT:
viewPaint=false;
watchPaint++;
if(watchPaint>2) watchPaint=0;
repaint();
break;
case FIRE:
viewPaint=true;
x=(int)Math.abs(typeRand.nextInt()%180);
y=(int)Math.abs(typeRand.nextInt()%177);
width=(int)Math.abs(typeRand.nextInt()%(180-x));
height=(int)Math.abs(typeRand.nextInt()%(177-y));
repaint(x, y, width, height);
break;
}
}
public void paint(Graphics g)
{
g.setColor(0xFFFFFF);
g.fillRect(0,0,getWidth(),getHeight());
if(viewPaint)
g.drawImage(pictureImage[watchPaint], 0, 0, Graphics.LEFT | Graphics.TOP);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?