1

processing.js、node.js、およびsocket.ioを使用してマルチプレイヤーゲームを作成しています。

質問1:

クライアントでは、p5.js を使用して Ball クラスを作成します。サーバーがそのクラス (balls.push(new Ball(x, y));) を使用して配列を作成するためにパラメーターを送信するようにしたいので、すべてのクライアントがキャンバス上を移動するボールの束を持つことができます。

クライアントにパラメーターを送信するには socket.io を使用する必要があることはわかっていますが、手がかりがありません。通常、配列はp5内のsetup関数内で作成されます...では、どのようにソケットでそれを行うことができますか?

質問2:

クライアントはどのようにして mouseX と mouseY をサーバーに送信できますか? そして、サーバーはどのようにして他の人の mouseX と mouseY をすべてのクライアントに送り返すことができるのでしょうか?

p5.j​​s を次のように通常の js にしようとしています。

         (function () {
            "use strict"; 
                function sketchProc(processing) {
                   var p=processing,
                   var ...,
                   var ...;

                   function ball(){...}

                   p.setup=function(){}
                   p.draw=function(){}
                    }

             var canvas = document.getElementById("canvas1"),
                p = new Processing(canvas, sketchProc);

               }());

しかし、これが役立つかどうかはわかりません...

4

1 に答える 1

0

ボールは、接続イベントでのみクライアントに渡される必要があります。ノードの美しさ、コード共有はそこにあります。

ソケット サーバーを作成するには、ノードのネイティブNetモジュールまたはSocket.ioを使用できます。

サーバー上:

var server = net.createServer();
server.listen(PORT, HOST);
server.on('connection', function(socket) {    
    socket.write({ type: "BallsArray", data: BallsArray });
});

クライアントでは、Socket.io で WebSocket を使用します。

var client = io.connect('http://localhost:3000');
var BallsArray = null;
client.on('message', function(msg) {
    if(msg.type == "BallsArray")
        BallsArray = msg.data; 
});
于 2013-02-06T15:23:55.087 に答える