任何人都可以解释下面的代码如何工作?这是一个使用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;
}