2D多人游戏实时通讯JavaScript

问题描述 投票:0回答:1

我正在使用JavaScript和html编写多人游戏。 为了这个目标,我需要玩家之间的沟通。 我该如何处理?

我的代码:

    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);

一个功能将是完美的,该功能可以检测并指示玩家在另一台计算机上的任何移动。 Webspace有两个域可供我使用。



我非常期待您的帮助,谢谢!!!

javascript websocket real-time 2d-games enchantjs
1个回答
1
投票

首先,如果您想要多人游戏,则需要管理房间等内容,因此需要一台服务器。 对于游戏,我建议使用NodeJS 。 Node是使用JS构建的服务器应用程序,因此是您熟悉的语言。 您现在不需要对节点了解太多,只需在执行代码时运行它就足够了,在那之后,我想您应该对它有所了解。

之后,我将研究Socket.io ,它可让您管理websocket,从而管理用户与服务器之间的通信。 网站的“入门”部分提供了有关聊天的教程,您可以通过它们了解用户之间的交流基础。

在这里,您可以为房间和其余游戏创建逻辑! 可能看起来有很多东西要学习,但是老实说,它解释得很好并且很容易理解。

© www.soinside.com 2019 - 2024. All rights reserved.