电影剪辑不断出现

时间:2011-02-11 16:01:17

标签: flash actionscript-3

我有两个名为mc_England和mc_Scotland的影片剪辑,它们位于不同的图层上,但放在舞台上的相同位置。

当我点击其中一个剪辑上的关闭按钮时,我无法判断我点击了哪个关闭按钮。

如果我将两个影片剪辑移动到舞台的不同部分,则下面的代码可以正常工作。

我可能错过了一些简单但我看不清楚的东西?

任何帮助都会很棒。

更新:

由于关闭按钮处于相同位置导致问题。

我决定将每个影片片段的位置设置为开始和关闭阶段。

除了在重新定位影片剪辑之前未完成FinishTween之外,这是有效的。

补间完成后有没有办法设置位置?

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.display.MovieClip;

//Buttons Open
btn_England_Open.addEventListener(MouseEvent.CLICK, England_Open);
btn_Scotland_Open.addEventListener(MouseEvent.CLICK, Scotland_Open);


//Button Close
mc_England.btn_England_Close.addEventListener(MouseEvent.CLICK, England_Close);
mc_Scotland.btn_Scotland_Close.addEventListener(MouseEvent.CLICK, Scotland_Close);


//Open Functions
function England_Open(e:MouseEvent){
    StartTween(mc_England);
}
function Scotland_Open(e:MouseEvent){
    StartTween(mc_Scotland);
}

//Close Function
function England_Close(e:MouseEvent){
    FinishTween(mc_England);
}
function Scotland_Close(e:MouseEvent){
    FinishTween(mc_Scotland);
}


//Tween Function
useSeconds);
function StartTween(target:MovieClip){
    target.x = 386.90;
    target.y = 195.00;
    var myTween:Tween = new Tween(target, "alpha", Strong.easeIn, 0, 1, 0.5, true);
    //myTween.start();
}

//Tween Function
function FinishTween(target:MovieClip){
    var myTween:Tween = new Tween(target, "alpha", Strong.easeOut, 1, 0, 0.5, true);
    //myTween.start();
    target.x = -100;
    target.y = -100;
}

2 个答案:

答案 0 :(得分:0)

具体是什么意思“中断”FinishTween函数?

关闭按钮是否也在同一位置?我想看一下确认你希望调度MouseEvent的对象真的就是这样做的对象。即使关闭按钮被补间为0 alpha,如果单击该区域,它仍然在侦听MouseEvents。

答案 1 :(得分:0)

如果问题是当你点击一个剪辑的关闭按钮时,你得到了两个FinishTweens(这是我在读完这个问题后唯一能想到的):

function England_Close(e:MouseEvent){
    e.stopPropagation();
    FinishTween(mc_England);
}
function Scotland_Close(e:MouseEvent){
    e.stopPropagation();
    FinishTween(mc_Scotland);
}

或者我需要更多细节