我创建了一个拖放迷你游戏,一旦完成,我希望用户能够点击“再试一次”按钮,让整个事情重新开始。 我已经读过这篇文章,看到有几个选项,但我觉得哪个最适合我。 我创建了一个FLA,其中包含我的所有库项目,一个AS文件( MainGame.as ),主游戏和一个类中的所有函数以及第二个AS文件( MyGame。 as )调用类文件来玩游戏。
哪种方式最适合我?
我在图层上什么都没有,只是无法弄清楚如何删除swf并再次点击按钮加载它。
我是否认为我会将按钮添加到timerDone
函数中的 MyGame 文件中?
如果是这样,我将如何使用它从一开始就重新加载SWF?
这是我的timerDone
功能......
function timerDone(e:TimerEvent=null):void
{
if (countDown == 0)
{
count = 0;
finalScore = score;
}
else
{
count = (30) - (myTimer.currentCount);
finalScore = (count * 10) + (score);
}
myText.text = "GAME OVER!";
myText.x = 195;
displayText();
myText2.text = "Your score = " + (finalScore);
displayText2();
}
我想我在最后一行之后添加按钮并以某种方式刷新SWF,是吗? 或者我离开了?
答案 0 :(得分:0)
你应该这样做:你在函数timerDone结束时调用函数toReplay:
函数timerDone,在“displayText2();”
之后tryAgain.addEventListener(MouseEvent.CLICK, toReplay);
在函数timerDone之外
/**
* The function toReplay calls the function init which
* initializes the Timer and all your variables.
**/
function toReplay(e:MouseEvent):void {
e.target.removeEventListener(MouseEvent.CLICK, toReplay);
init();
}
function init():void {
// Timer
count = 0;
finalScore = 0;
myText.text = "";
// etc.
}
可以直接调用函数init来在游戏开始时初始化所有变量:
init();