[英]stop movement when energy is 0
I am creating a 4 player game using node.js, socket.io and create.js. 我正在使用node.js,socket.io和create.js创建一个4人游戏。 In my game every player has energy and when player is moving energy is decreasing.
在我的游戏中,每个玩家都有能量,而当玩家移动时,能量正在减少。 I want to stop player when energy is 0 or less.
我想在能量等于或小于0时停止播放器。 But I couldn't do it.
但是我做不到。
Server Side: 服务器端:
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});
});
Client Side: 客户端:
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"];
});
Thanks for attention! 感谢您的关注!
Your if statements are not correct. 您的if陈述不正确。 You want to do something along the lines of:
您想按照以下方式进行操作:
if(energy <= 0) {
//don't move
}
else {
//move
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.