Прямо сейчас у меня есть сервер веб-сокетов, который отправляет клиенту позицию других игроков, использующих объект ({pos:{x:32,y:46}}
).Затем я ставлю это в точку, выполняя var newposition = new Point(msg.pos.x,msg.pos.y)
, но затем я никогда не вижу появления игрока.
Я попытался утешить его, но он сказал, что позиция была NaN.Затем я попытался утешить точку лога, и это сработало.Я даже пытался вообще не устанавливать позицию , но он произвольно устанавливает свою позицию в NaN без видимой причины.
Это мой код для объединения игроков:
function addPlayer(nickname,position,color,uid,size,face) {
var circle = new Path.Circle(position,size)
var face = new Raster("/faces/"+face+"/face.png")
face.rescale(40,40)
face.position = position
var masker = new Group({
children: [circle, face],
clipped: true
});
face.onLoad = function() {
// Fit the circle snugly around the image:
circle.fitBounds(face.bounds);
};
circle.fillColor = color
console.log(nickname + " has joined the server")
console.log(players)
players[uid] = {
circle: circle,
nickname: nickname,
entirething: masker,
face: face
}
console.log(circle.position)
}
И вот что происходит, когда игрок перемещается (без фактической установки позиции игрока.)
if(msg.event == "move" && msg.who != cuid) {
var thepoint = new Point(msg.pos.x,msg.pos.y)
console.log(thepoint)
console.log(players[msg.who].circle.position)
}
И, наконец, когда игрок присоединяется:
if(msg.event == "join" && msg.who != cuid) {
addPlayer(msg.username,{x:0,y:0},"dodgerblue",msg.who,20,msg.face)
}
На моем бэкенде мне только что сообщили, что кто-то соединился с его идентификатором (who
) и лицом (face
).
В консоли нет ошибок, и ядовольно запутанный из-за того, почему это происходит ... Почему он устанавливает себя в NaN?