我正在尝试使用 socket.io 创建一个小型 POF,其想法是每个连接的玩家都会获得一个球,并且可以将其拖放到浏览器视图中;然后其他连接的人可以看到它在移动,也可以移动他们自己的。
目前,该应用程序只有一个球,每个玩家都可以控制它,代码如下:
var express = require('express');
var app = express();
var server = app.listen(80);
var io = require('socket.io').listen(server);
var posx = 10;
var posy = 10;
app.configure(function() {
app.use(express.static(__dirname + '/public'));
});
io.sockets.on('connection', function (socket) {
socket.emit('start', {
x: posx,
y: posy
});
socket.on('newpos', function (data) {
posx = data["x"];
posy = data["y"];
socket.broadcast.emit('move', { x: posx, y: posy });
});
});
我将如何获得更多的球并且每个球员都控制自己的球?我在想以下几点:
让 Express 处理存储在 Redis 哈希中的会话,其中包含会话 ID 和球位置的坐标。这适用于当新玩家连接时,放置物品,然后将每个动作广播给所有人(但发送者)。但我确信缺少一些东西。
粗略地说,我应该朝哪个方向看?
提前致谢。