2D多人游戏实时通讯JavaScript

2D multiplayer game real-time comunication JavaScript

本文关键字:JavaScript 实时 游戏 2D      更新时间:2023-09-26

我正在用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只熊。其中一个可以用方向键控制(bear变量的值为"my_bear")。

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

init_other_players(my_bear);

一个功能将是完美的,它可以检测并指示其他电脑上玩家的任何动作。我的程序可以使用web空间和两个域名。



我非常期待你有用的答案,谢谢!!

首先,如果你想要多人游戏,你需要一些东西来管理房间等等,所以你需要一个服务器。对于游戏,我建议使用NodeJS。Node是一个用JS构建的服务器应用程序,所以这是一门你熟悉的语言。现在你不需要知道太多关于node的知识,在你编写代码的时候简单地运行它就足够了,之后我想说你应该更深入地研究它。

之后,我会查看Socket。IO,它可以让你管理你的websockets,因此用户和服务器之间的通信。在网站的入门部分有关于聊天的教程,可以让你了解用户之间交流的基本知识。

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