当前,我有一个游戏设置,如果一个玩家在范围内单击另一个玩家,则应该杀死该玩家。但是,我不确定在碰撞时如何针对特定玩家。游戏用p5以及node.js编写,以将其联网。
我尝试为每个客户端分配一个特定的ID,但是,当大量客户端一次发送数据时,接收客户端不知道要定位哪个ID。
服务器代码...
function newConnection(socket){
storeid = socket.id;
idarr.push(storeid);
io.to(storeid).emit('clientid',storeid);
usernumber+=1;
console.log('new connection: ' + storeid);
console.log(idarr);
socket.on('mouse', mouseMsg);
socket.on('killdata', killMsg);
function mouseMsg(data) {
socket.broadcast.emit('mouse', data);
}
function killMsg(otherid) {
io.to(otherid).emit('iskilled', killed);
}
杀死对象的客户代码
if(collided){
death = true;
socket.emit('killdata', otherid);
collided = false;
}
//otherid is the id of other clients taken from the server when the server sends data from other clients
现在,编写的代码杀死了一个播放器,但它杀死了一个随机播放器,因为客户端一次只能接收一个ID,并且不知道要定位哪个ID。