我是 Node JS 和 Socket.IO 的新手,对 JS 来说几乎是新手……我正在尝试制作一款迷你多人游戏,只是为了学习。我在服务器中对玩家的位置进行所有处理,并将所有位置传递给每个客户端,以便每个客户端在浏览器中制作所有图表。
在服务器端,我有这些:
function Player(x,y){
some things...
this.graph = '';
}
setInterval(function(){
for (i in players){
players_position(players[i]);
}
io.sockets.emit('new_data', players);
}, 100);
(我每 100 毫秒发送一次所有玩家的位置)
然后在客户端:
var r = Raphael('field', 800, 600)
for (i in players){
players[i].graph = r.circle(players[i].x,players[i].y).attr({fill:'blue'});
players[i].graph = players[i].graph.attr({cx : players[i].x , cy:players[i].y});
(这会在开始时制作每个玩家的图表,并且效果很好)
socket.on('new_data', function(players){
for (i in players){
players[i].graph = players[i].graph.attr({cx : players[i].x , cy:players[i].y});
}
我的问题是这里它说这没有方法ATTR。好像 object.graph 实际上并不是我想要的那样。我希望我已经把自己说得够清楚了。如果没有,请告诉我。
非常感谢。