-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