2011-02-11 38 views
0

我有两个影片剪辑,分别叫做mc_England和mc_Scotland,它们在不同的图层上,但放在同一位置的舞台上。影片剪辑出现在幕后

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

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

我可能错过了简单的东西,但我不能看到什么?

任何帮助将是伟大的。

UPDATE:

由于关闭按钮在相同的位置是是造成问题。

我决定设置每个影片剪辑的位置来上下舞台。

除重新定位影片剪辑之前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

你能解释一下电影​​片段结构吗,这样我们就能更好地理解这种情况了吗? – Jordan 2011-02-12 10:00:59

+0

在我的每个影片剪辑mc_England和mc_Scotland中都有一个关闭按钮btn_England_Close和btn_Scotland_Close。我认为问题在于关闭按钮在舞台上的位置相同。由于alpha设置为0,我实际上并没有点击我看到的关闭按钮。 – Jemes 2011-02-14 08:54:18

回答

0

你是指“打破”FinishTween函数的具体内容吗?

关闭按钮是否位于同一位置?我会看看确认你期望分派MouseEvent的对象真的是这样做的。即使关闭按钮被补偿为0 alpha,它仍然在侦听MouseEvents,如果它被点击的话。

+0

您的权利我没有点击我在屏幕上看到的关闭按钮,因为开始时alpha设置为0。 当特定的影片剪辑打开时,是否可以禁用所有其他按钮和影片剪辑? – Jemes 2011-02-14 09:20:17

0

如果问题是,当你点击一个剪辑的关闭按钮,你会得到两个FinishTweens开始(只有一个阅读的问题后,我可以想像):

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

要不然我需要更多的细节