我是网络初学者,但我正在尝试创建简单的游戏原型,其中有2个或更多玩家可以在地图上看到他们的动作。
我在服务器端使用了node + socket,在客户端使用了phaser(js游戏引擎)。
我的问题是,如果我有一个ping或者......我可以看到另一个玩家喜欢传送自己。
当玩家移动时,我将事件发送到具有玩家位置的服务器:
socket.emit('updatePosition', { position: player.position, direction: "down" });
然后在服务器上我向其他所有人广播他的位置:
socket.on('updatePosition', (data) => {
onlinePlayers[socket.id] = data;
socket.broadcast.emit('updatePlayers', { id: socket.id, position: onlinePlayers[socket.id].position, direction: onlinePlayers[socket.id].direction });
});
在客户端我更新他们的职位:
socket.on('updatePlayers', (data) => {
players[data.id].position = data.position;
});
如何消除这些传送?