Flash 电影剪辑一直在后面出现
我有两个电影剪辑,分别叫英格兰和苏格兰,它们在不同的层次上,但放在舞台上的位置相同 当我单击其中一个剪辑上的“关闭”按钮时,我不知道我正在单击哪个“关闭”按钮 如果我将两个电影剪辑移动到舞台的不同部分,下面的代码将正常工作 我可能错过了一些简单的东西,但我看不到什么 任何帮助都会很好 更新: 由于关闭按钮处于相同的位置导致了问题 我决定将每个电影剪辑的位置设置为舞台上和舞台下 除了在重新定位电影剪辑之前未完成的FinishTween之外,此操作也有效 有没有一种方法可以在吐温结束后设置位置Flash 电影剪辑一直在后面出现,flash,actionscript-3,Flash,Actionscript 3,我有两个电影剪辑,分别叫英格兰和苏格兰,它们在不同的层次上,但放在舞台上的位置相同 当我单击其中一个剪辑上的“关闭”按钮时,我不知道我正在单击哪个“关闭”按钮 如果我将两个电影剪辑移动到舞台的不同部分,下面的代码将正常工作 我可能错过了一些简单的东西,但我看不到什么 任何帮助都会很好 更新: 由于关闭按钮处于相同的位置导致了问题 我决定将每个电影剪辑的位置设置为舞台上和舞台下 除了在重新定位电影剪辑之前未完成的FinishTween之外,此操作也有效 有没有一种方法可以在吐温结束后设置位置 im
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;
}
你所说的FinishTween函数的具体含义是什么
关闭按钮是否也位于同一位置?我会看一看,以确认您希望发送MouseEvent的对象确实是执行此操作的对象。即使“关闭”按钮变为0 alpha,如果单击其所在区域,它仍在侦听鼠标事件。如果问题是当您单击一个剪辑的“关闭”按钮时,两个“结束”按钮都已启动,则在阅读问题后,我能想象到的唯一一个:
或者我需要更多的细节我不认为两个按钮都会出现点击事件的问题,因为它们中的一个总是在另一个之前。代码中没有任何内容表明一个movieclip是另一个的父对象,因此停止传播可能无助于解释movieclip的结构,以便我们更好地了解情况?在我的每个电影剪辑mc_England和mc_Scotland中都有一个关闭按钮btn_England_close和btn_Scotland_close。我认为问题在于关闭按钮在舞台上的位置相同。由于alpha设置为0,我实际上没有单击我看到的关闭按钮。您的右侧我没有单击我在屏幕上看到的关闭按钮,因为alpha在开始时设置为0。当特定的电影剪辑打开时,是否可以禁用所有其他按钮和电影剪辑?实现这一点的一个选项是://open Functions function England\u Opene:MouseEvent{btn_England_Open.RemoveEventListenerMouseeEvent.CLICK,England_Open;mc_England.btn_England_Close.AddEventListenerMouseeEvent.CLICK,England_Close;StartWeenMC_England;这样,直到正确的时间,您才开始收听事件。
function England_Close(e:MouseEvent){
e.stopPropagation();
FinishTween(mc_England);
}
function Scotland_Close(e:MouseEvent){
e.stopPropagation();
FinishTween(mc_Scotland);
}