2011-02-11 86 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); 
} 

要不然我需要更多的細節