Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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 能量为0时停止移动_Javascript_Jquery_Node.js_Socket.io - Fatal编程技术网

Javascript 能量为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"];

我正在使用node.js、socket.io和create.js创建一个4人游戏。在我的游戏中,每个玩家都有能量,当玩家移动时,能量会减少。当能量为0或更少时,我想停止玩家。但我做不到

服务器端:

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)那么您正在代码中的其他地方移动。