0

私は小惑星のようなゲームを作っています。私のゲームでは、キーが押されたときにプレイヤーの船に deltaX の変更を適用させ (船をどちらの方向にも推進させます)、キーを離すと、船が完全に停止する前に deltaX がゆっくりと減少します。 . これにより、一種の「ドリフト」効果が作成されます

このコードがデルタを負の場合にのみ減少させ、正の場合には減少させない理由を教えてください。(左に移動している場合は手を離すと船は左にドリフトしますが、右に移動するとこれは機能しません)

deltaX に影響を与えるコードのスニペットを次に示します。

    if (GamePanel.Left && Math.abs(deltaX) <= speed)
    {
        this.deltaX = (this.deltaX-1)*1.6;
    }
    else if (GamePanel.Right && Math.abs(deltaX) <= speed)
    {
        this.deltaX = (this.deltaX+1)*1.6;
    }
    else if (!GamePanel.Right && !GamePanel.Left && Math.abs(deltaX) >= 0) 
    {
            this.deltaX *= .39;
    }
4

0 に答える 0