2016-07-30 1 views
0

나는 전통적인 마법의 탑과 비슷한 게임을 만들고 있는데, 지금은 괴물과 용감 해의 전투를 다룰 때 문제가 있습니다. 여기세트가 visible = true Phaser에서 사용하지 않습니다.

function update(){ 
    // ... 
    game.physics.arcade.collide(braver, monsters, battle, null, this); 
    // ... 
} 

그리고 내 전투의() :

function battle(player, monster) { 
    var x = (player.attack > monster.defence ? player.attack - monster.defence : 0); 
    var y = (monster.attack > player.defence ? monster.attack - player.defence : 0); 
    battleScene.visible = true; 
    while (1) { 
     if (Date.now() > battleTimer) 
     { 
      battleTimer = Date.now() + 1000; 
      monster.health -= x; 
      if (monster.health <= 0) { 
       monster.kill(); 
       player.gold += monster.gold; 
       player.exp += monster.exp; 
       break; 
      } 
      player.health -= y; 
      if (player.health <= 0) { 
       player.kill(); 
       break; 
      } 
     } 
    } 
    battleScene.visible = false; 
} 

battleScene가 그룹, 전투 박스

여기 갱신에 내 코드()입니다. 나를 미치게 만드는 것은 전투 스코프가 화면에 전혀 나타나지 않는다는 것입니다 (심지어 battleScene.visible = true).

game.world.bringToTop(battleScene);을 시도했지만 작동하지 않습니다. 그렇다면 어떻게 해결할 수 있습니까?

답변

0

어떤 유형의 객체가 battleScene입니까? 그것은 Phaser.State을 있다면 당신은 당신이 그리는 위해서는 게임의 세계에 추가 할 필요가 Phaser.Sprite의 경우 상태 Manager (Documentation)

game.state.start('battle_scene_key') 

으로 그 상태를 시작해야합니다.

// assuming `this` is a Phaser.State 
state.add.existing(battleScene) 
관련 문제