|
Detecting collision with sprites in J2ME |
|
|
This Java tip demonstrates method of detecting collision with
Sprite. The Sprite is a Layer that may contain several frames
stored in an Image. With Sprite we can use parts of the image
as frames and make a sequence of frames to create motion etc.
This may further be used in creating animated games.
// Create a sprite
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) ;
//Detecting collision at pixel level
if(sprite1.collidesWith(sprite2,true) ) {
g.drawString("colision x1="+x1+ "and y1="+
y1, 10, 10, g.TOP|g.LEFT);
}
}
void update() {
Random rnd=new Random();
//Get random values
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)
{
//Send paint request
repaint();
//Update sprites position
update();
try {
Thread.sleep(500);
}catch(Exception e){}
}
}
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.