Javascript 能量为0时停止移动
我正在使用node.js、socket.io和create.js创建一个4人游戏。在我的游戏中,每个玩家都有能量,当玩家移动时,能量会减少。当能量为0或更少时,我想停止玩家。但我做不到 服务器端:Javascript 能量为0时停止移动,javascript,jquery,node.js,socket.io,Javascript,Jquery,Node.js,Socket.io,我正在使用node.js、socket.io和create.js创建一个4人游戏。在我的游戏中,每个玩家都有能量,当玩家移动时,能量会减少。当能量为0或更少时,我想停止玩家。但我做不到 服务器端: socket.on('move', function(data) { var w = data["dir"]; var x = data["x"];
socket.on('move', function(data)
{
var w = data["dir"];
var x = data["x"];
var y = data["y"];
var e = data["energy"];
console.log(e);
if(w == "down")
y += 5;
if(w == "up")
y -= 5;
if(w == "left")
x -= 5;
if(w == "right")
x += 5;
if(e <= 0)
{
x+=0;
y+=0;
}
socket.broadcast.emit("_movement2",data);
socket.emit("_movement",{ "X" : x, "Y" : n y});
});
switch(evt.keyCode)
{
case 37:
energy--;
$("#energy").css({"width" : energy});
socket.emit("move", {"y" : player.playerImage.y, "x": player.playerImage.x, "dir" : "left", "id":player_id, "energy" : energy});
break;
case 38:
energy--;
$("#energy").css({"width" : energy});
socket.emit("move", {"y" : player.playerImage.y, "x" : player.playerImage.x, "dir" : "up", "id":player_id, "energy" : energy});
break;
case 39:
energy--;
$("#energy").css({"width" : energy});
socket.emit("move", {"x" : player.playerImage.x, "y" : player.playerImage.y, "dir": "right", "id":player_id , "energy" : energy});
break;
case 40:
energy--;
$("#energy").css({"width" : energy});
socket.emit("move", {"y" : player.playerImage.y, "x" : player.playerImage.x, "dir" : "down", "id":player_id, "energy" : energy});
break;
}
socket.on("_movement", function(data)
{
player.playerImage.x = data["X"];
player.playerImage.y = data["Y"];
});
谢谢大家的关注 您的if语句不正确。 您希望按照以下思路做一些事情:
if(energy <= 0) {
//don't move
}
else {
//move
}
if(能量)我得到了,但如何真正阻止玩家,使他不移动。如果我不在if中写入任何内容,它将继续移动。您是否将if(w==…)
移动到了else部分?如果(e)那么您正在代码中的其他地方移动。