屏幕边缘检测

时间:2013-07-02 13:50:23

标签: android animation android-animation game-physics edge-detection

我正在开发一个简单的游戏边缘碰撞问题。它是关于在屏幕上投掷硬币。我使用下面的代码来检测边缘碰撞,这样我就可以让硬币从屏幕边缘反弹。

除了一个案例外,一切都按照我想要的方式运作。当硬币击中左边缘并进入右边缘时,系统不会检测到碰撞。其余的情况完美无缺,比如首先击中右边缘然后再击中左边缘。

有人可以提出解决方案吗?

public void onMove(float dx, float dy) {
    coinX += dx;
    coinY += dy;

    if (coinX > rightBorder) {
        coinX = ((rightBorder - coinX) / 3) + rightBorder;
    }
    if (coinX < leftBorder) {
        coinX = -(1 * coinX) / 3;
    }
    if (coinY > bottomBorder) {
        coinY = ((bottomBorder - coinY) / 3) + bottomBorder;    
    }

    invalidate();
}

0 个答案:

没有答案