Мне нужно убрать кнопки из DOM, когда игрок нажимает на сиденье. таким образом, два игрока не могут занять одно и то же место. все кнопки должны быть скрыты на стороне клиента после того, как игрок садится, поэтому они не могут перемещать места.Я пытаюсь скрыть кнопку из других сокетов в node.js. После нажатия кнопок мой игрок я не хочу, чтобы другие игроки могли его нажимать.
сторона сервера
socket.on('seat1',function(){
player.x = 380
player.y = 300
player.number = 1
console.log(player)
socket.emit('seat1',function(){
hideSeatButtons();
})
});
socket.on('seat2',function(){
player.x = 380
player.y = 100
player.number = 2
console.log(player)
});
client side
var seat1 = function(){
socket.emit('seat1',{
});
}
var seat2 = function(){
socket.emit('seat2',{
});
}
var hideSeatButtons = function(){
document.getElementById("seat1").style.display = "none";
document.getElementById("seat2").style.display = "none";
}
Здесь всегда будет состояние гонки, так как два пользователя могут нажать одну и ту же кнопку примерно в одно и то же время (до того, как их клиент будет уведомлен о том, что кто-то другой нажал его). Итак, вам нужно нажать кнопку, а затем указать сервер, на который вы нажали. Сервер ответит, был ли клик успешным или нет, или кто-то еще уже щелкнул его перед вами, и клиент может вести себя соответствующим образом. Когда сервер получает успешный щелчок по кнопке, он может передавать всем остальным клиентам, что эта кнопка теперь принята, и клиенты могут вести себя соответственно. – jfriend00