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 が実際に私が望んでいるものではなかったかのように。私は自分自身を十分に明確にしたことを願っています。そうでない場合は、教えてください。
どうもありがとうございました。