var snake;
p.setup = function () {
canvas = p.createCanvas(600, 600)
socket = io.connect('http://localhost:1337')
socket.on('activate-device-controls', function(_isPhone){
if(_isPhone) {
isPhone = _isPhone;
snake = new Snake(null, null, p, snakeImg)
food = new Food(p)
const snakeData = {
x: snake.x,
y: snake.y,
color: snake.color,
points: snake.points,
tail: snake.tail
}
const foodData = {
x: food.vec.x,
y: food.vec.y
}
// Handle server disconnection
socket.on('disconnect', function () {
socket.close()
})
// send the snake info to the server
socket.emit('start', {snakeData, foodData})
socket.on('serverUpdate', function (data) {
snakes = data.snakes
foods = data.foods
})
p.frameRate(10)
}
})
};
我们无法弄清楚为什么snake在socket.on(..)中的回调函数之外仍未定义。但是,我可以看到蛇被重新分配了新的Snake(),它在其他任何地方都不存在。我们无法弄清楚原因。请帮忙