下边的代码说明了如何判断两个精灵发生了碰撞
// 生成精灵
void init() {
try {
//sprite Image
img1=Image.createImage("/sprite1.png");
img2=Image.createImage("/sprite2.png");
} catch(Exception e){}
sprite1=new Sprite(img,95,35);
sprite2=new Sprite(img,95,35);
}
public void paint(Graphics g) {
sprite1.paint(g) ;
sprite1.paint(g) ;
//判断碰撞
if(sprite1.collidesWith(sprite2,true) ) {
g.drawString("在 x1="+x1+ "and y1="+
y1+"发生碰撞", 10, 10, g.TOP|g.LEFT);
}
}
void update() {
Random rnd=new Random();
//获取随机值
int x1=nextInt(getWidth() );
int x2=nextInt(getWidth() );
int y1=nextInt(getHeight() );
int y2=nextInt(getHeight() );
sprite1.setRefPixelPosition(x1,y1) ;
sprite2.setRefPixelPosition(x2,y2) ;
}
public void run() {
while(true)
{
repaint();
//更新精灵们的位置
update();
try {
Thread.sleep(500);
}catch(Exception e){}
}
}