我正在编写一个 Flash 游戏,其中球击中一个影片剪辑对象,这会将用户带到一个新场景。
这很好用,但是当我回到游戏场景时,球的移动速度是原来的两倍。
返回游戏时如何/在哪里重置变量。请参阅下文了解我目前如何设置变量
var XSpeed:Number = 9;
var YSpeed:Number = 9;
任何帮助将不胜感激。谢谢。
编辑* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
好的,所以我认为我对这个问题的表述非常糟糕,这是我的相关代码:
var XSpeed:Number = 9; //X Speed of the Ball
var YSpeed:Number = 9; //Y Speed of the Ball
function beginCode():void{
mcPaddle.addEventListener(Event.ENTER_FRAME, movePaddle);
mcBall.addEventListener(Event.ENTER_FRAME, moveBall);
mcBall.addEventListener(Event.ENTER_FRAME, changeFrame);
}
然后在最后调用 beginCode()。如前所述,我认为问题在于事件侦听器已经存在,并且每次用户返回页面时都会再次调用。我试图添加一个 if 语句来检查(见下面的评论)但这没有奏效......
任何帮助将不胜感激。谢谢。