Flash - 剪辑正在重复而不是停止

时间:2017-01-06 10:08:40

标签: actionscript-3 flash

我制作了记忆游戏。游戏中有一些鱼,随机移动直到停止。玩家必须尝试记住第一个动作。我将鱼对象转换为this.$router.push(),因此它不是button

鱼看起来很完美但不会停止。我在最后一帧中使用了movieClip,但它无效。我怎么能阻止这个?

我将这个代码用于Fish 1

stop();

Fish 2的代码

var xsekseni:Number=10;

var ysekseni:Number=14;

var speedy:Number=75;

stage.addEventListener(Event.ENTER_FRAME,bhareket);

function bhareket(oly:Event) {

    balik1.x+=xsekseni;

    balik1.y+=ysekseni;

    if ((balik1.x>=stage.stageWidth-balik1.width/2)|| (balik1.x <= balik1.width/2 )) {

        xsekseni*=-1;

    }

    if ((balik1.y>=stage.stageHeight-balik1.height/2)|| (balik1.y <= balik1.height/2 )) {

        ysekseni*=-1;

    }

}



var MovieArray:Array = [balik1];

for (var j:uint = 0; j < MovieArray.length; j++) {

MovieArray[j].x = Math.floor( Math.random()*(stage.stageWidth - MovieArray[j].width) );

MovieArray[j].y = Math.floor( Math.random()*(stage.stageHeight - MovieArray[j].height) );

}

function MovieRandomPositon():void {

MovieRandomPositon();

}

1 个答案:

答案 0 :(得分:0)

您是否仅按代码移动两条鱼?这两行可能会导致您想要停止的相同动作......

stage.addEventListener(Event.ENTER_FRAME, bhareket);

stage.addEventListener(Event.ENTER_FRAME, hareket);

我多年没有将代码放在不同的框架中,所以我不能确定下面的代码是否有效。实际上,如果您的代码全部在一个地方,那将是正确的,但如果幸运的话,它可能适用于您的设置......

尝试在最后一帧使用下面的代码。

stop();
stage.removeEventListener(Event.ENTER_FRAME, hareket);
stage.removeEventListener(Event.ENTER_FRAME, bhareket);