如何在画布游戏中设置高度限制?

4

我对JS还不太熟悉,想知道如何在这个小型画布游戏中设置屋顶或高度限制。实际上,这是W3的代码,但老师告诉我们只需要模仿它。我想解决这个烦人的问题,即跳过地图以避开障碍物。

我不太清楚该尝试什么,因为高度是由画布设置的。我尝试基于hitBottom()创建一个新函数,但失败了。

我只想设置屋顶或高度限制。这里是原始来源:这里。除颜色外,一切都完全相同。


创建一个类似于hitBottom的方法,在该方法中检查您的y坐标是否已经达到了极限。如果发生这种情况,请将gravitySpeed重置为0以防止进一步上升。 - JensV
2个回答

1
你需要做的是检查当前y轴位置是否低于0,因为那将是房间的“顶部”。如果玩家的y轴位置低于0,则将其重置回0,并停止加速。
    this.hitTop = function() {
        if (this.y < 0) {
            this.y = 0;
            this.gravitySpeed = 0;
        }
    }

对于newpos函数,您想要调用此函数,因此请添加以下内容:

this.hitTop();


0

在增加y位置后,在newPos方法中检查y位置。如果它小于0,则将其设置为0。代码应如下所示:

this.newPos = function() {
    this.gravitySpeed += this.gravity;
    this.x += this.speedX;
    this.y += this.speedY + this.gravitySpeed;

    /* Add below 4 lines */
    if (this.y <= 0) {
        this.y = 0;
        this.gravitySpeed = 0;
    }
    /* Add above 4 lines */

    this.hitBottom();
}

编程愉快 ;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接