tankcanvas.java

来自「Tank 手机游戏 J2ME 简单么明了」· Java 代码 · 共 59 行

JAVA
59
字号
package pack04;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.LayerManager;
public class TankCanvas extends GameCanvas implements Runnable {
	LayerManager layerManager;
	GameMap map;
    Tank tank;
	public TankCanvas()
	{		
		super(true);
        map=new GameMap();
		map.loadMap(1);
        tank=new Tank(map);
		layerManager=new LayerManager();
        layerManager.append(tank);		
		layerManager.append(map);
	}
	public void paint(Graphics g) {
		g.setColor(0);
		g.fillRect(0,0,this.getWidth(),this.getHeight());		
		layerManager.paint(g, 0, 0);
	}
    public void start()
    {
        Thread t=new Thread(this);       
        t.start();
    }
    public void run() {
        System.out.println("TankCanvas.Tick()");
        while(true)
        {
            tick();
            try {
                Thread.sleep(20);
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
        }
    }
    private void tick()
    {
        int key=this.getKeyStates();       
        if((key&UP_PRESSED)!=0)
            tank.tryMove(Tank.UP);
        else if((key&DOWN_PRESSED)!=0)
            tank.tryMove(Tank.DOWN);
        else if((key&RIGHT_PRESSED)!=0)
        {
             System.out.println("TankCanvas.Tick()  key:"+key);
            tank.tryMove(Tank.RIGHT);
        }
        else if((key&LEFT_PRESSED)!=0)
            tank.tryMove(Tank.LEFT);
        repaint();
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?