碰撞检测?

时间:2017-12-12 18:37:45

标签: java android

我想知道在我的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();
        }

0 个答案:

没有答案