2009-10-02 42 views
2

這可能很明顯,但自從我使用閃光燈以來已經過時了。我有一個畫在閃光的物體可以說一個時鐘。當時鐘被點擊時,我想讓動手旋轉。單擊時使閃光燈按鈕變爲動畫的好方法

所以,我創建時鐘作爲一個按鈕,並在關閉狀態調用動畫?還是創建一個影片剪輯並讓它像一個按鈕一樣更好? Atm我正在使用偵聽器來偵聽對象的點擊並在主時間軸中導航到其動畫。如果我有很多對象,主時間軸將變得很大,所以我需要一種將所有內容製作成動畫片段但仍然可以點擊它們的好方法。我使用CS4 AS3

感謝

回答

2

使它成爲一個影片剪輯。假設您的時鐘實例名稱爲「mcClock」。由於我們訪問目標,因此可以對所有影片剪輯使用相同的函數處理函數。

mcClock.addEventListener(MouseEvent.CLICK, handleClickOnObject); 
mcClock.buttonMode = true; //to display hand cursor 
//easily use the same functon for another MovieClip 
mcClock2.addEventListener(MouseEvent.CLICK, handleClickOnObject); 

function handleClickOnObject(e:MouseEvent):void 
{ 
    e.target.play(); 
} 
+0

多數民衆贊成在很大的信息,我想知道如何讓手出現一些實驗後。我會給你一個去看看我如何相處。謝謝艾倫 – whamo 2009-10-03 11:38:10

+0

這一直運行良好,並減少了我的時間軸的大小。在某些對象上單擊時出現此錯誤: 「ReferenceError:Error#1069:Property play play not found on flash.display.SimpleButton」 您有任何想法,爲什麼會發生這種情況?謝謝 – whamo 2009-10-05 12:12:11

+0

是的,這是因爲你正在調用SimpleButton函數play()。 SimpleButtons沒有函數play(),因爲它們不會從MovieClip繼承。 http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/SimpleButton.html 爲了解決這個問題,他們製作了影片剪輯(注意將現有的Button更改爲MovieClip,因爲這不起作用)。只需將您的內容複製到新的MovieClip中即可。 – Allan 2009-10-05 12:48:45

-1

我會說針對不同國家不同的影片剪輯會更好,因爲你可能要需要一些其他國家也(殘疾人,盤旋着,被點擊等)。處於不同狀態的不同MovieClip也可以幫助您組織代碼,並且更容易修改各個狀態的MovieClip,而不是在時間軸中插入和刪除多個幀。

所以,我的建議是

- 製作標準或自定義按鈕 -put對不同狀態不同​​的影片剪輯(要麼你交換他們對事件監聽器或如果默認按鈕,放在時間軸)這些 - 添加動畫單獨的狀態影片剪輯。

您也可以通過這種方式有效地爲多個按鈕重複使用相同的動畫。