0

私は socket.io で小さな POF を作成しようとしています。アイデアは、接続されている各プレーヤーがボールを取得し、ブラウザ ビューの周りにドラッグ アンド ドロップできるということです。接続されている他の人は、それが動いているのを見ることができ、自分自身も動かすことができます。

現時点では、アプリにはボールが 1 つしかなく、すべてのプレーヤーが次のコードでボールを制御できます。

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 で処理するため。これは、新しいプレイヤーが接続してアイテムを配置し、各動きを全員 (送信者を除く) にブロードキャストするためのものです。しかし、何かが欠けていると確信しています。

ざっくり言うと、どの方向を見ればいいですか?

前もって感謝します。

4

1 に答える 1

0

コールバック内に移動するposxと、すべてのプレーヤー (別名、新しい接続) がサーバー上に独自のボール座標を持ちます。したがって、コールバック内で行うすべてのことは、接続されているプレーヤーに対してのみカウントされます。それは正しい方向にあなたをぶつけるはずです。:)posyconnectionconnection

ところで: POFとは何ですか?

于 2012-08-14T12:52:42.610 に答える