我确信这是一个简单的问题,但我还是要问。基本上我试图用更少的代码在 javascript (没有 jquery) 中执行以下操作:
var Ground = [];
function gameLoop()
{
Gravity += 0.2
if(Ground[0].isCollided(Player))
{
Player.dy = 0;
Gravity = 0;
}
if(Ground[1].isCollided(Player))
{
Player.dy = 0;
Gravity = 0;
}
if(Ground[2].isCollided(Player))
{
Player.dy = 0;
Gravity = 0;
}
Player.dy = Gravity;
}
我使用 javascript 和 html5 canvas 制作的游戏代码极大地简化了代码。 你看到的是我的地面机制。当玩家与地面碰撞时,玩家的 .dy 值将不再随着重力而变化。
您在上面看到的是我通常会这样做的方式,但是如果我有 50 个 FallingM 变量,这可能会占用大量空间。是否可以做类似的事情:
if(Ground[i].isCollided(Player))
{
Player.dy = 0;
Gravity = 0;
}
这样无论我添加多少个 Ground 变量,该函数仍然会运行?提前致谢!
最佳答案
你应该使用循环:
for(var x of Ground) {
if(x.isCollided(Player)) {
Player.dy = 0;
Gravity = 0;
break;
}
}
关于javascript - 访问数组中的所有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400516/