2017-06-09 166 views
-1

我試圖讓使用香草JS炸彈,爲我的考試項目。炸彈香草JS

我現在感到有點卡住着如何取出炸彈數組中,並重新推入陣列他們爆炸後。

他們需要2秒後爆炸。

我的炸彈代碼:

function bombPlayerOne() { 
    let ss = new createjs.SpriteSheet(game.q.getResult('bomb')) 
    let temp = new createjs.Sprite(ss, "bombIt"); 
    temp.x = playerOne.x; 
    temp.y = playerOne.y; 
    game.stage.addChild(temp); 
    powerUps.bombs.push(temp); 
    console.log("player one placed a bomb"); 
    for (var i = powerUps.bombs.length - 1; i > 0; i--) { 
     powerUps.bombs.splice; 

     // TODO : tween bomber ud... 

     powerUps.bombs.push; 
    } 
} 

function bombPlayerTwo() { 
    let ss = new createjs.SpriteSheet(game.q.getResult('bomb')) 
    let temp = new createjs.Sprite(ss, "bombIt"); 
    temp.x = playerTwo.x; 
    temp.y = playerTwo.y; 
    game.stage.addChild(temp); 
    powerUps.bombs.push(temp); 
    console.log("player two placed a bomb"); 
    for (var i = powerUps.bombs.length - 1; i > 0; i--) { 
     powerUps.bombs.splice; 

     // TODO : tween bomber ud... 

     powerUps.bombs.push; 
    } 
} 
+0

我不是清楚你問什麼,你問:當炸彈爆炸怎麼會返回一個可放置炸彈的球員? –

+0

是的,這正是我需要做的..但我不知道該怎麼做@EricH –

+0

你可能會展示一些代碼,其中'powerUps.bombs'被定義爲'game.stage'嗎? –

回答

0

所以,你有幾個選項,FYI這不一定是一個JavaScript的問題這麼多,你如何處理遊戲邏輯/代碼設計類型的問題。

1)放置時炸彈包括一參考回到它的擁有者。即

bomb.owner = playerOne 

2)你有控制水平的狀態管理器,它跟蹤炸彈

LevelManager.player1Bombs = .... 

3)您有炸彈的陣列放置屬於每一個玩家,你然後在您的邏輯更新調用期間更新。

function gameUpdate(long milliSecondsSinceLastFrame){ 
    for(bomb in playerOne.placedBombs){ 
     if(bomb.isExploded){ 
     //do other cleanup 
     playerOne.availableBombs ++; 
     } 
    } 
    //... do same for player 2 etc 
    } 

所有這些都有其自身的優點/缺點。