炸弹人香草JS

时间:2017-06-09 18:07:09

标签: javascript

我正在尝试使用香草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;
    }
}

1 个答案:

答案 0 :(得分:0)

所以你有几个选择,而且仅供参考,这不一定是一个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
  }

所有这些都有各自的优点/缺点。