我正在尝试使用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 });
});
});
我如何获得更多球并且每个球员控制自己的球?我在考虑以下几点:
使用包含会话ID和球位置坐标的Redis哈希中存储的Express句柄会话。这将适用于新玩家连接,放置项目,然后将每个移动广播给每个人(但发送者)。但我确信缺少一些东西。
粗略地说,我应该看哪个方向?
提前致谢。
答案 0 :(得分:0)
如果您在posx
回调中移动posy
和connection
,则每个玩家(也称为新连接)在服务器上都有自己的球坐标。因此,您在connection
回调中执行的所有操作仅适用于已连接的播放器。这应该会让你朝着正确的方向前进。 :)
BTW:什么是 POF ?