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