2016-03-14 19 views
0

我已經爲我創建的動畫獲得FLA文檔,並且想知道當動畫具有多個場景/時間線時如何使用外部AS文件。如何設置和使用Flash AS3文件

是否我只是把我引用的每個函數放在AS文件中,然後在我需要時從動畫時間線內調用函數?有一個更好的方法嗎?

感謝

+0

需要更多信息。你的輸出是什麼? jquery-animate在哪裏適合這個問題?你的檔案中的功能的性質是什麼?很可能,您只是想在多個時間線上重新使用代碼?這隻涉及讓你的影片剪輯(時間軸)對象使用你的.as文件作爲他們的基類。然後該類的所有變量和方法(.as文件)將在這些時間線中可用。 – BadFeelingAboutThis

+0

你好,對不起,我意外地標記了錯誤的'動畫'。 是的,我想重複使用多個時間線上的代碼。有沒有這方面的文件?我嘗試了官方文檔,但是我只能找到關於如何設置它的參考,而不是如何使它們在多個時間軸上工作,遍歷它們以及類似的東西。 – Phill

回答

1

是的,您可以將使用爲ActionScript導出相同.as3文件到多個影片剪輯,然後使用

parent.yourfunctionName(); 

訪問各種功能,只要這些功能是公開的:

公共功能在DoSomething的():無效{ 跟蹤( 「功能從時間表稱爲」) }

,如果你需要移動進一步上漲,做parent.parent.parent等,或root.instanceName。實例名

或者(和好),你可以把你所有的公共職能,使用文檔類文件 - - >設置 - >腳本 - >文檔類,然後使用類似parent.parent達到你的功能,也可以讓文檔類傳遞到自身的引用到需要通信的所有影片剪輯:

as3 calling a function in Main.as Document Class from another class

在時間軸上放置腳本,因爲As 2的完成次數減少,但它仍然是在時間軸的某一點發生某種事情的最簡單方法,它仍然有效。如果你想要做到這一點,你可以在movieClip代碼的enterFrame處理程序中偵聽某些幀或標籤。

+0

使用「parent.parent.parent」是初學者所做的,並且是實現最弱,最不穩定和最困難的代碼調試的最佳方式。 – BotMaster

+0

是的,這就是爲什麼我說你可以做一些事情,比如「讓文檔類將自己的引用傳遞給所有需要通信的影片剪輯」。這是一種更專業的方式,但對於初學者或項目來說可能過於矯枉過正,聽起來它更像動畫而不是編程。 –