2012-01-24 36 views
0

我正在構建一個帶有可選按鈕的區域,該按鈕可以過渡並出現每10幀。在這10個幀過渡期間,我不希望按鈕是可選的,並且如果可能的話禁用翻轉。禁用按鈕翻轉一定數量的幀Flash動作3.0

我試着在addEventListener上創建一個If語句,以便它只在currentFrame是11,21,31等時才起作用,但是這種方式不起作用。然後,我還嘗試了與事件偵聽器相關的功能的相同主體,但仍然沒有成功。

有沒有人有任何想法?

回答

0

添加一個偵聽器ENTER_FRAME事件,並在回調函數就把如果。

例如

this.addEventListener (Event.ENTER_FRAME, onEnterFrame); 

function onEnterFrame (evt:Event):void { 
if (currentFrame == 21) { 
     yourButton.enabled = false; 
} else { 
     yourButton.enabled = true; 
} 

} 
+0

我試過這個,但由於某種原因它不起作用。我已經有了一個ENTER_FRAME事件,所以它可能沒有很好的集成... – howardrocks

+0

我沒有測試它,我寫的代碼只是一個如何做的例子 –

0

你可以做兩件事情:

1: 您可以手動添加和刪除監聽器。 因此,當您開始轉換時,將刪除偵聽器,然後在轉換結束時添加偵聽器。

2: 您將創建一個自定義偵聽器來檢查幀的狀態以查看它是否應該執行其主體。

例:

public void listener(event:Event) { 
    if (event.getSource().stage.getCurrentFrame() == 10) {//This is an example, I don't know whether this specific way will work. 
     //Run your code here 
    } 
} 
+0

的問題是,1.我有操作一幀上支配整個文檔,並且2.當按鈕被點擊時,這是在時間軸下一個目的地的幀停止是從當前幀計算的,所以必須僅在有效幀上單擊該按鈕。你如何提出一個監聽器來檢查'幀的狀態'? – howardrocks