Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS中触摸后角色不会跳转_Javascript_Collision Detection_Game Development - Fatal编程技术网

Javascript 在JS中触摸后角色不会跳转

Javascript 在JS中触摸后角色不会跳转,javascript,collision-detection,game-development,Javascript,Collision Detection,Game Development,我正在用JS为一个平台编写碰撞检测程序。出于某种原因,当我的角色在顶部触地时,它不会再跳了。这是我的密码: if (isCollideY(platforms[i].getBoundingClientRect(), document.getElementById('spriteNotReal').getBoundingClientRect()) == true) { if (falling == true && (jumping == false))

我正在用JS为一个平台编写碰撞检测程序。出于某种原因,当我的角色在顶部触地时,它不会再跳了。这是我的密码:

if (isCollideY(platforms[i].getBoundingClientRect(), document.getElementById('spriteNotReal').getBoundingClientRect()) == true) {
                if (falling == true && (jumping == false)) {
                            moveY = platforms[i].getBoundingClientRect().y + 3;
                            momentumY = 0;
                            onSolidGround = true;
                        }
            }
if(event.code=='KeyW'&&(moveY 0){
跳跃=正确;
}
否则{
跳跃=错误;
}
moveX+=动量x/3+1;
document.getElementById(“spritentreal”).src=“jumpmain.gif”;
}

我的问题有点愚蠢。检查输入代码后,我意识到跳转没有发生,因为它只会在我设置要测试的“平台”上跳转,而不会在它实际在平台上跳转。下面是改进的代码:

if (event.code == 'KeyW' && (onSolidGround == true)) { 
            moveY += 1;
            move (moveX, moveY);
            momentumY = momentumY + 20;
            onSolidGround = false;
            falling = false;
            jumping = true;
        }

我的问题有点愚蠢。在检查输入代码后,我意识到跳转没有发生,因为它只会在我设置要测试的“平台”上跳转,而不会在它实际在平台上跳转。下面是改进的代码:

if (event.code == 'KeyW' && (onSolidGround == true)) { 
            moveY += 1;
            move (moveX, moveY);
            momentumY = momentumY + 20;
            onSolidGround = false;
            falling = false;
            jumping = true;
        }

你能提供一个最小的可复制的例子吗?是的。我编辑并添加了物理。你能提供一个最小的可复制的例子吗?是的。我编辑并添加了物理
if (event.code == 'KeyW' && (onSolidGround == true)) { 
            moveY += 1;
            move (moveX, moveY);
            momentumY = momentumY + 20;
            onSolidGround = false;
            falling = false;
            jumping = true;
        }