2D多人游戏实时交流JavaScript

2D multiplayer game real-time comunication JavaScript

我正在用 JavaScript 和 html 编写多人游戏。为此objective我需要玩家之间的交流。我该如何管理?

我的代码:

    enchant();
    window.onload = function() {
    var game = new Game(320, 320);

这是我的第一个问题:应该统计现在有多少玩家,最后进房间的。然后应该给这个玩家分配一个号码。我想用一个函数来解决这个问题。

    var my_bear = get_player_number();

    game.preload('chara1.gif');
    game.fps=15;
    var bears = [];
    game.onload = function() {
        var ix;
        var bear;
        for (ix = 0; ix < 5; ix++) {
            bear=new Sprite(32, 32);
            bear.image = game.assets['chara1.gif'];
            bear.frame = 4;
            bear.x=Math.random()*300;
            bear.y=Math.random()*300;
            game.rootScene.addChild(bear);
            bears.push(bear);
        }
    };
    game.start();
    var addit=6;
    document.addEventListener('keyup',function (evt) {
        if(evt.keyCode == 38){bears[my_bear-1].y-=addit;}
        if(evt.keyCode == 39){bears[my_bear-1].x+=addit;}
        if(evt.keyCode == 40){bears[my_bear-1].y+=addit;}
        if(evt.keyCode == 37){bears[my_bear-1].x-=addit;}
    });
}

由于我程序的这种简化,你有 5 只熊。您可以使用箭头键控制其中之一(变量值为“my_bear”的熊)。

但它仍然是一款单人游戏...

init_other_players(my_bear);

一个函数就完美了,它可以检测并指示另一台计算机上玩家的任何移动。 网站空间和两个域都可用于我的程序。



非常期待您的有用回答,谢谢!!!

首先,如果你想要多人游戏,你需要一些东西来管理房间等等,所以你需要一个服务器。对于游戏,我建议 NodeJS。 Node 是用 JS 构建的服务器应用程序,因此是一种您熟悉的语言。你现在不需要了解太多关于 node 的知识,只要 运行 在你的代码上取得进展就足够了,之后我会说你应该多看看它。

之后,我会研究 Socket.io,它可以让您管理您的 websockets,从而管理用户与服务器之间的通信。在网站的入门部分有关于聊天的教程,您可以了解用户之间通信的基础知识。

从那里您可以为您的房间和游戏的其余部分创建逻辑!它看起来可能需要学习很多东西,但老实说,它解释得很好并且很容易掌握。