简体   繁体   English

如何让精灵从Android游戏的边缘反弹?

[英]How do I make sprites bounce off the edge of the gameView in Android?

I've got this so far to try and reverse the velocity so they should theoretically go back on themselves but they don't. 到目前为止,我已经尝试过这样做以反转速度,所以他们理论上应该回归自己,但事实并非如此。

 public void update() {
    if (x > gameView.getWidth() - bmp_width - xSpeed){
        xSpeed = xSpeed * -1;
        ySpeed = ySpeed * -1;
    }
    if (y > gameView.getHeight() - bmp_height - ySpeed){
        xSpeed = xSpeed * -1;;
        ySpeed = ySpeed * -1;;
    }
    if(x + xSpeed < 0){
        x = 0;
        xSpeed = 0;
        ySpeed = -5;
    }

    if(y + ySpeed < 0){
        y = 0;
        xSpeed = 5;
        ySpeed = 0;
    }
    x = x + xSpeed;
    y = y + ySpeed;
}

Thanks in advance! 提前致谢!

try something like this: 尝试这样的事情:

public void update() {
    x += xSpeed;
    y += ySpeed;

    if (x >= gameView.getWidth() - bmp_width){
        xSpeed = -xSpeed;
        x = gameView.getWidth() - bmp_width;
    }else if(x <= 0){
        xSpeed = -xSpeed;
        x = 0;
    }
    if (y >= gameView.getHeight() - bmp_height){
        ySpeed = -ySpeed;
        y = gameView.getHeight() - bmp_height;
    }else if(y <= 0){
        ySpeed = -ySpeed;
        y = 0;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM