【发布时间】:2017-04-27 17:46:58
【问题描述】:
目前我已经能够使用鼠标移动精灵,但我一直坚持使用键盘移动它
客户端代码缩短:
var Client = {};
Client.socket = io.connect();
Client.sendClick = function(x,y){
Client.socket.emit('click',{x:x,y:y});
};
Client.socket.on('move',function(data){
Game.movePlayer(data.id,data.x,data.y);
});
服务器代码缩短:
socket.on('click',function(data){
console.log('click to '+data.x+', '+data.y);
socket.player.x = data.x;
socket.player.y = data.y;
io.emit('move',socket.player);
});
我已经尝试了一些类似的方法
Client.sendKey = function(data){
switch(data.keyCode)
{
case 40:
Client.socket.emit('movement', data.y - 10);
break;
case 38:
Client.socket.emit('movement', data.y + 10);
break;
case 37:
Client.socket.emit('movement', data.x - 10);
break;
case 39:
Client.socket.emit('movement', data.x + 10);
break;
}
});
【问题讨论】:
-
您使用什么客户端语言? @luke Sturgess