2016-07-04 81 views
0

我正在用JavaScript和html編寫多人遊戲。爲了這個目標,我需要球員之間的溝通。我怎樣才能管理這個?2D多人遊戲實時溝通JavaScript

我的代碼:

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」的熊)進行控制。

但it's仍然是單人遊戲...

init_other_players(my_bear); 

函數將是完美的,它可以檢測和指示其他計算機上播放的任何移動。 Webspace有兩個域可用於我的程序。



我非常期待您的回答,謝謝!

+0

通過多人遊戲,你是指在同一臺計算機上使用同一個鍵盤的2+玩家或在同一個比賽中玩的不同計算機上的2+玩家(如Xbox live)? – johnsimer

回答

1

首先,如果你想要多人遊戲,你需要一些東西來管理房間等等,所以你需要一個服務器。對於遊戲,我建議NodeJS。節點是一個建立在JS中的服務器應用程序,所以你熟悉一種語言。現在你不需要對節點知道太多,只要運行它就足夠了,而你在代碼上的進展已經足夠了,之後我會說你應該更加註意一點。

之後,我會看看Socket.io,它可以讓你管理你的websockets,並因此管理用戶和服務器之間的通信。在網站的入門部分有關於聊天的教程,您可以通過該教程瞭解用戶之間的通信基礎知識。

從那裏你可以創建你的房間和遊戲的其餘部分的邏輯!這可能看起來像是很多東西,但是,很榮幸,它很好地解釋了並且很容易掌握。

+0

謝謝你的回答。這非常有幫助。我照你的意見做了,它工作得很好,而且它的確很簡單,就像你提到的一樣! –