我正在使用 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);
如果有一个函数可以完美地检测并指示玩家在另一台计算机上的任何移动。 网站空间和两个域可用于我的程序。
我非常期待您的有用答复,谢谢!!!
最佳答案
首先,如果你想要多人游戏,你需要一些东西来管理房间等,所以你需要一个服务器。对于游戏,我建议NodeJS 。 Node 是一个用 JS 构建的服务器应用程序,因此是一种您熟悉的语言。您现在不需要了解太多有关 Node 的信息,只需在代码上取得进展时运行它就足够了,之后我会说您应该更多地了解它。
之后,我会查看 Socket.io它可以让你管理你的网络套接字,从而管理用户和服务器之间的通信。网站的“入门”部分中有有关聊天的教程,可以让您了解用户之间通信的基础知识。
从那里您可以为您的房间和游戏的其余部分创建逻辑!它可能看起来需要学习很多东西,但说实话,它解释得很好并且很容易掌握。
关于javascript - 2D多人游戏实时交流JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38188151/