java - 如何让 Sprite 从 Android 中的 gameView 边缘反弹?

标签 java android sprite

到目前为止,我已经尝试扭转速度,因此理论上他们应该自行返回,但他们没有。

 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;
}

提前致谢!

最佳答案

尝试这样的事情:

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;
    }
}

关于java - 如何让 Sprite 从 Android 中的 gameView 边缘反弹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121862/

相关文章:

java - 在 Docker 中运行 Selenium 测试时出现连接被拒绝的 UnreachableBrowserException

android - 带有 BaseAdapter 的 Android ListView 中的 ImageButton

html - 图像 Sprite 和触摸设备

java - TimeHandler 中抛出 IndexOutOf range 异常

arrays - 如何使用 Swift 创建一个 SKSpriteNodes 数组?

java - Android 中加载太多图片时游戏会卡住

java - 递归 - 返回 ( method (...) || method (...) )

java - 处理超出锁等待超时的钩子(Hook)

java - 将图像图标设置为特定单元格 jTable

java - Android 中的 AssetFileDescriptor 是否必须关闭