我想知道在我的Android应用游戏中应该采取什么路线来启用碰撞检测。我已经看到很容易检测到形状之间的碰撞,但我已经使用绘制到画布上的图像创建了游戏。 我已经开始但我的代码不起作用
class EnemyShipProjectile extends GameObject {
public EnemyShipProjectile(float x, float y, float dx, float dy, Drawable image) {
super(x, y, dx, dy, image);
}
void move(Canvas canvas, EnemyShip enemyShip) {
y += (2 * dy);
if (y >= canvas.getHeight()) {
y = 190;
x = enemyShip.getXCoOrd()+10;
}
image.setBounds((int) x, (int) y, (int) (x + 30f), (int) (y + 40f));
image.draw(canvas);
}
Boolean collision(float x, float y){
Boolean collision = false;
if(getXCoOrd()<= (x+80f) && getXCoOrd()>= (x-80f) && getYCoOrd() <= (y+80f) && getYCoOrd() >= (y-80f)){
collision = true;
}
return collision;
}
}
当我调用此方法时,始终返回true。
if (spaceshipProjectileSprite.collision(playerSprite.getXCoOrd(), playerSprite.getYCoOrd()) == true) {
//Update player life total
updateLifeTotal();
}