사용자가 캔버스에 배치 된 객체를 수집해야하는 멀티 플레이어 게임을 만들고 있습니다. 나는 그 객체들을 각 사용자마다 같은 위치에 두어야한다. 나는 스프라이트를 그릴 좌표를 만들 수있는 socket.io 서버와 클라이언트 측을 사용하고 있습니다 :Socket.io node.js 모든 사용자가 같은 위치에 스프라이트를 배치하도록 Math.random
클라이언트 :
var ShoppingList = function(noItems){
var self = this;
self.list = [];
for(var i = 0; i < noItems; i++){
socket.emit('getPosition', {id: i, gameWidth: Game.width});
socket.on('setPosition', function(data){
self.list.push(new ShoppingListItem(data.id, data.x, data.y));;
//this.list.push(new ShoppingListItem(i));
});
서버 : 그러나
socket.on('getPosition', function(data) {
socket.emit('setPosition', {
x: 32 + (Math.random() * (data.gameWidth - 64)),
y: 32 + (Math.random() * (data.gameWidth - 64)),
id: data.id
});
});
의에서 ShoppingList 접근 socket.on 함수 내에서 첫 번째 코드 블록이 null 오류를 발생시킵니다. 어쨌든 함수 밖에서 배열에 추가 할 수 있습니까?