我有两个名为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;
}
答案 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);
}
或者我需要更多细节