JavaScript函数序列(Phaser游戏)

时间:2017-02-04 18:49:43

标签: javascript phaser-framework

任何人都可以解释下面的代码如何工作?这是一个使用Phaser Javascript框架的定时动画。

我无法弄清楚它是如何按顺序工作的,例如:如何触发每个函数,doIntro0()后跟doIntro1()

为简洁起见,我已经省略了doIntro函数的大量内容。

showIntro(); // initial call 

    var introFlags = new Object();
    function showIntro(){
      if (!introFlags.step0){
        if (!introFlags.doingStep0){
          introFlags.doingStep0 = true;
          doIntro0();
        }
        return
      }

      if (!introFlags.step1){
        if (!introFlags.doingStep1){
          introFlags.doingStep1 = true;
          doIntro1();
        }
        return
      }
    }

     function doIntro0(){
      player.animations.play("rest");
      player.x = 160+32;
      princess.animations.play("rest0");
      princess.x = 240;
      graves.alpha = 0;
      devil.alpha = 0;
      armour = game.add.sprite(140,354,"armour");
      setTimeout(endIntro0,500);
    }

    function endIntro0(){
      introFlags.step0 = true;
    }

    function doIntro1(){
      blackBg.alpha = 0.2;
      setTimeout(endIntro1,2000);  
    }

    function endIntro1(){
      introFlags.step1 = true;
    }

0 个答案:

没有答案