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

📄 mylayermanager.java

📁 游戏开发中常用到的地图和图片` 快来下载
💻 JAVA
字号:
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.LayerManager;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class MyLayerManager extends GameCanvas implements Runnable {
	private Display dis;
	private DemoTest dg;
	private Sprite s,s1,s2;
	private int x,y,h = getHeight(),w = getWidth();
	private long delay = 20;
	private boolean guan,bian = false; 
	private LayerManager lm = null;
	private int i = -1;

	public  MyLayerManager(DemoTest dg) {
		super(true);
		this.dg = dg;
		dis = Display.getDisplay(dg);
		x = w/2;
		y = h/2;
		lm = new LayerManager();
		dis.setCurrent(this);
		start();
		try {
			Image image = Image.createImage("/herp_1.png");
			s = new Sprite(image,24,29);
			Image image2 = Image.createImage("/hero_tom.png");
			s1 = new Sprite(image2,68,70);
			s.defineReferencePixel(12,15);
			s2.defineReferencePixel(34,35);
			lm.append(s);
			lm.append(s1);
			s2 = s;
			s1.setVisible(false);
		}catch(Exception e){
			
		}
		
		
	}

	public void start(){
		guan = true;
		new Thread(this).start();
	}
	
	public void stop(){
		guan = false;
		lm = null;
	}
	
	public void run() {
		Graphics g = getGraphics();
		while(guan){
			input();
			drswScreen(g);
			try {
				Thread.sleep(delay);
			}catch(Exception e){
			}
		}
	}
	
	public void input(){
		int k = getKeyStates();
		if ((k & UP_PRESSED) !=0){
			if (s2.equals(s) ){
				if (i != UP_PRESSED){
					i = UP_PRESSED;
					s.setFrameSequence(new int[] {0,1,2});
				}else{
					y = Math.max(0,y-1);
					s.nextFrame();
					s.move(x,y-=5);
				}
		
			}else if(s2.equals(s1)){
				if (i != UP_PRESSED){
					i = UP_PRESSED;
					s.setFrameSequence(new int[] {4,5,6,7});
				}else{
					y = Math.max(0,y-1);
					s.nextFrame();
					s.move(x,y-=5);
				}
			}
		}
		if ((k & DOWN_PRESSED) !=0){
			if (s2.equals(s)){
				if (i != DOWN_PRESSED){
					i = DOWN_PRESSED;
					s.setFrameSequence(new int[] {6,7,8});
				}else{
					y = Math.min(h-30,y+1);
					s.nextFrame();
					s.move(x,y+=5);
				}
				
			}else if(s2.equals(s1)){
				if (i != DOWN_PRESSED){
					i = DOWN_PRESSED;
					s.setFrameSequence(new int[] {0,1,2,3});
				}else{
					y = Math.max(0,y-1);
					s.nextFrame();
					s.move(x,y-=5);
				}
			}
		}
		if ((k & LEFT_PRESSED) !=0){
			if (s2.equals(s)){
				if (i != LEFT_PRESSED){
					i = LEFT_PRESSED;
					s.setFrameSequence(new int[] {9,10,11});
				}else{
					x = Math.max(0,x-1);
					s.nextFrame();
					s.move(x-=5,y);
				}
			
			}else if(s2.equals(s1)){
				if (i != LEFT_PRESSED){
					i = LEFT_PRESSED;
					s.setFrameSequence(new int[] {8,9,10,11});
				}else{
					y = Math.max(0,y-1);
					s.nextFrame();
					s.move(x,y-=5);
				}
			}
		}
		if ((k & RIGHT_PRESSED) !=0){
			if (s2.equals(s)){
				if (i != RIGHT_PRESSED){
					i = RIGHT_PRESSED;
					s.setFrameSequence(new int[] {3,4,5});
				}else{
					x = Math.min(w-25,x+1);
					s.nextFrame();
					s.move(x+=5,y);
				}
				
			}else if (s2.equals(s1)){
				if (i != RIGHT_PRESSED){
					i = RIGHT_PRESSED;
					s.setFrameSequence(new int[] {12,13,14,15});
				}else{
					y = Math.max(0,y-1);
					s.nextFrame();
					s.move(x,y-=5);
				}
			}
		}
		
		if ((k & FIRE_PRESSED) !=0){
			if (s2.equals(s)){
				s.setVisible(false);
				s1.setVisible(true);
				s2 = s1;
			}else{
				s.setVisible(true);
				s1.setVisible(false);
				s2 = s;
			}
		}
	}

	public void drswScreen(Graphics g){
		g.setColor(0,0,0);
		g.fillRect(0,0,w,h);
		s2.setRefPixelPosition(x,y);
		lm.paint(g,10,100);
		lm.setViewWindow(0,0,200,200);
		flushGraphics();
	}
}

⌨️ 快捷键说明

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