package com.org.fisher; import java.io.IOException; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.game.GameCanvas; import javax.microedition.lcdui.game.Sprite; public class SpriteColl extends GameCanvas implements Runnable { public Image fish=null; public Image butterfly=null; public Sprite s_fish=null; public Sprite s_butterfly=null; public Graphics g=null; public SpriteColl() { super(true); g=this.getGraphics(); try { fish=Image.createImage("/fish.png"); butterfly=Image.createImage("/butterfly.png"); } catch (IOException e) { e.printStackTrace(); } s_fish=new Sprite(fish); s_butterfly=new Sprite(butterfly); s_fish.setPosition(0,0); s_butterfly.setPosition(0,200); new Thread(this).start(); } public void run() { while (true) { s_fish.move(1,1); s_butterfly.move(1,-1); s_fish.paint(g); s_butterfly.paint(g); if(s_fish.collidesWith(this.s_butterfly, true)) { System.out.println("----碰撞了----"); } try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } this.repaint(); } } }
1:制造图像对象和精灵对象
2:将图像和精灵对象绑定
3:赋予精灵画笔
4:移动后并检测碰撞
5:重绘