0

私が開発している単純なゲームでエッジ衝突の問題があります。それは、画面全体にコインを投げることについてです。以下のコードを使用してエッジの衝突を検出し、コインを画面の端から跳ね返らせることができます。

1つのケースを除いて、すべてが私が望むように機能します。コインが左端に当たって右端に移動すると、システムは衝突を検出しません。残りのケースは、最初に右端を叩いてから左端を叩くなど、完全に機能しています。

誰かがそれに対する解決策を提案できますか?

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();
}
4

0 に答える 0