-1
当我运行下面的代码时,出于某种原因它执行,就好像else始终为真,但是当我拿走else语句时,if语句正常工作,因此表明if语句能够工作,我想,但是我无法设置Player.moving = true,而没有其他的东西。Javascript其他总是触发
if (Player.x > j * 25 - 15 &&
Player.x < j * 25 + 10 &&
Player.y > i * 25 &&
Player.y < i * 25 + 25 &&
Player.direction === 1
) {
Player.moving = false;
}
else if (Player.x > j * 25 &&
Player.x < j * 25 + 25 &&
Player.y > i * 25 - 15 &&
Player.y < i * 25 + 10 &&
Player.direction === 2
) {
Player.moving = false;
}
else if (Player.x > j * 25 &&
Player.x < j * 25 + 40 &&
Player.y > i * 25 &&
Player.y < i * 25 + 25 &&
Player.direction === 3
) {
Player.moving = false;
}
else if (Player.x > j * 25 &&
Player.x < j * 25 + 25 &&
Player.y > i * 25 &&
Player.y < i * 25 + 50 &&
Player.direction === 4
) {
Player.moving = false;
}
else {
Player.moving = true;
}
其中i和j是该对象的索引的地图瓦片,使得tilemap的看起来像这样:var tilemap的= [“‘’”];
例如,当
if (Player.x > j * 25 &&
Player.x < j * 25 + 40 &&
Player.y > i * 25 &&
Player.y < i * 25 + 25 &&
Player.direction === 3
) {
Player.moving = false;
}
是唯一的代码本。当[i] [j]中的对象如预期的那样位于其左侧时,玩家将停止向左移动。然而,随着else语句的出现,它只是继续移动,Player.moving保持真实。 感谢您的帮助!
我认为没有其他条件都满足,因此在else语句 –
结束请在问题本身足够的代码复制此问题。我们无法评估您的条件。外部网站链接腐烂,我们不应该离开现场,看看为什么你的代码不工作。问题应该是自我包含的 – charlietfl