⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rectangle.java

📁 example2 众多JAVA实例源码...学习java基础的好帮手
💻 JAVA
字号:
package opusmicro.demos.game;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

public class Rectangle implements Runnable{
	final static int EVENT_KEY_PRESSED = 1;
	final static int EVENT_KEY_RELEASED = 0;
	int x, y;
	int recW = 40;
	int recH = 20;
	private int dx = 3, dy =3;
	private int gx =-999;
	boolean isKeepGoing = true;
	boolean pause = true;
	private MoveCanvas mc;
	
	public Rectangle(MoveCanvas mc) {
		this.mc = mc;
		new Thread(this).start();
	}
	
	public void setLocation(int x, int y){
		this.x = x;
		this.y = y;
	}
	
	public void handleEvent(int type, int keyCode){
		if(type==EVENT_KEY_PRESSED){
			gx = mc.getGameAction(keyCode);
			pause = false;
			
		}
		if(type== EVENT_KEY_RELEASED){
			pause = true;
			gx =-999;
		}
	}
	
	public void paint(Graphics g){
		g.setColor(0);
		g.fillRect(x, y, recW, recH);
	}
	
	public void run() {
		while(isKeepGoing){
			if(!pause){
				switch ( gx) {
					case Canvas.UP:
						if(y<0)break;
						y -= dy;
						break;
					case Canvas.DOWN:
						if(y>mc.h-recH)break;
						y += dy;
						break;
					case Canvas.LEFT:
						if(x<0)break;
						x -= dx;
						break;
					case Canvas.RIGHT:
						if(x>mc.w-recW)break;
						x += dx;
						break;
				}
				mc.repaint();
			}
			try {
				Thread.sleep(40);
			}
			catch (InterruptedException e) {
			}
		}
	}

}

⌨️ 快捷键说明

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