javascript - 让角色在 Canvas 内跳跃

标签 javascript jquery canvas

这是我的 jsfiddle:http://jsfiddle.net/2tLCk/4/

如您所见,如果您按下向上按钮,马里奥会跳得很远,然后再向下跳一次,但如果您再次按下它,他将不会跳 我该如何解决这个问题?当我按下向上按钮时,马里奥会跳到一个特定的位置,假设 y=32 然后再向下返回(总是不止一次)?

var Jump = function () {
        if (character.y > limit && !goingDown) {
            character.y -= limit;

        } else {
            goingDown = true;
            character.y += limit;
            if (character.y >= 184) {
                clearInterval(jumping);
                goingDown = false;
                limit = 0;
                character.y = 184;

            }

        }
    }

最佳答案

在此if语句中设置限制

if (keydown.up) {
    limit = 10;
    jumping = setInterval(Jump, 150);
}

DEMO

要指定特定的高度,您可以删除一个名为 limitHeight 的新变量,并在此 if 语句中将其与 limit 切换

if (character.y > limitHeight && !goingDown) {
               //   ^^^^^^^^^^^

在这个新的演示中,我还在 keydown.up 语句中放置了 clearInterval 以修复一些错误

DEMO

关于javascript - 让角色在 Canvas 内跳跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235011/

相关文章:

php - 如何从 Javascript 脚本链接并执行 PHP 文件?

javascript - 当我调整窗口大小时,如何更改导航栏上 li 标签的值/内容?

javascript - 在不模糊的情况下调整 Canvas 图像的大小

javascript - 获取父 DIV 具有绝对位置的 DIV 的高度(JQuery)

javascript - 向下滚动时我希望标题部分修改并在高度、填充等方面变短

javascript - 获取更改输入的 div val()

javascript - 如何使用 Javascript 在 Canvas 上绘制 SVG?

javascript - 在缩放 Canvas 时,toDataURL 只返回 Canvas 的可见部分,而不是 Canvas 尺寸之外的部分

javascript - 语法 var names = string.split ("\n"), make\r behind element of string field

javascript - 传单 0.7 : Disable mouse clicks for a polyline or a polygon