2011-08-06 62 views
0

我的意思是隻有ActionScript。是否可以使對象動畫,以便在Flash Professional軌跡中預先繪製?我知道,我可以使用onEnterFrame和一些數學方程來移動物體,但是如果軌跡太複雜了會怎麼樣?你看,我甚至不知道如何制定這個問題。希望你讓我對。感謝您提前任何提示或提示:))使用ActionScript 3.0在舞臺上設置動畫對象

+0

所以,你想沿着路徑動畫,路徑是在Flash IDE中繪製的線條?爲什麼你需要這個ActionScript? –

+0

因爲我想爲隨機對象重複執行此操作,所以在編譯時既不會發生任何順序,也不會知道實際移動的對象...另外,我可能希望在移動路徑時移除某些對象,這也會被安排在運行時間:SS所以,這可能嗎? :SS – nicks

回答

3

直觀地創建您的動作Tween。右鍵單擊時間軸中的補間。選擇「將動畫複製爲ActionScript 3.0」。

之後,您可以使用該代碼構建一個函數,並將您的對象作爲參數傳遞給該函數。

2

但是複雜的軌跡是,它總是歸結爲點的繼承。在Array/Vector中獲取這些點,並且您應該能夠沿着該路徑操作任何顯示對象。所以是的,這應該是可能的。

爲了將你的對象,你可以使用Timer類或某些漸變,不僅輸入框。

+0

和往常一樣,我推薦Greensock的補間類爲這種事情。在這個例子中[TweenMax](http://www.greensock.com/as/docs/tween/com/greensock/TweenMax.html)和貝塞爾數組。 – shanethehat

+0

謝謝,但我該如何將路徑轉換爲數組? o.O – nicks

+0

@PatrickS沿着彎曲的軌跡移動比您呈現的方式更難 - 只是一連串的點。什麼意思?這些點有多密集度 - 均勻分佈或圍繞軌跡的最早部分變得更密集?物體是否會沿着所有點以恆定的速度移動?它不是那麼容易! –

1

你需要定義你想使用的對象是使用ActionScript計算的路徑採取的路徑(至少這將使它更容易移動沿着這條道路的對象)。

在Flash Auth中繪製路徑時。工具,你沒有存儲實際的路徑,而只是路徑的圖形(在運行時),所以你沒有可用的點數據來告訴你的對象去哪裏。

如果創建PointVector s,其中的點是X,Y座標的舞臺上,可以將每個在Vector點之間,然後Tween

您將得到存儲在Vector中的積分,它們可以隨機應用於任何SpriteMovieClipTween課程可以填補Vector中各點之間的空白。

有趣的旁白:你可以使用的Catmull-ROM樣條曲線自動進行更順暢的路徑點之間(在Vector)。以下是包含該功能的類庫:http://www.algorithmist.net/as3pc.html

人們使用這些樣條線加載3D視口相機所遵循的路徑,以便在相機在場景周圍移動時獲得平滑視圖。

+0

好的,但是我將如何創建'Points'的'Vector'? O.O – nicks

3

在Flash Professional中,連接並補間一個空的精靈或一個帶有內部虛擬物的精靈,您可以沿着您的路徑隱藏/移除(如果您想在IDE中具有可視化引用)一個「靜態」動畫。訣竅在於,使用ActionScript,您可以在運行時引用父精靈,並在原點添加您選擇的子元素。如果您選擇使用假人,請不要忘記刪除或隱藏假人。

這樣,您將會看到沿路徑添加了孩子精靈動畫。根據您的要求,您的代碼可以在運行時選擇順序以及要移動的內容。

就這麼,或像其他人所說,你定義,通過ActionScript你與點的路徑,補間沿想象的插補軌跡您選擇的對象,用代碼重新無論是。那裏不乏補間圖書館。

我敢肯定第一個選項需要更少的代碼是對玩家少徵稅,只要生成的動畫關注。這就是人們在Flash的舊時代所做的:-)但是現在很多Flash Player應用程序開發人員經常希望儘可能多地使用代碼,原因有幾個。

+0

到目前爲止,這是最實用的方法,需要最少的代碼! –

相關問題