(Flash Professional,AS3)AS3 colorTransform over multiple frames?
我正在製作一個自定義頭像系統,您可以在其中選擇各種風格和顏色。例如,我有一個有10個髮型的「髮型」動畫片段。每個框架都有一個不同髮型的動畫片段(HairStyle1,HairStyle2等)。我也有一個colorPicker來改變顏色。
這裏是我的代碼:
var hairColor:ColorTransform;
hairColor = mc_myAvatar.hair.colorLayer.transform.colorTransform;
hairColor.color = 0xCCCC00;
mc_myAvatar.hair.colorLayer.transform.colorTransform = hairColor;
這正確地更改初始顏色。我有一個「nextHair」按鈕來將mc_myAvatar.hair推進到下一幀。當我點擊按鈕時,我收到一條錯誤消息,說我有一個空對象引用。我添加了一個跟蹤,並且mc_myAvatar.hair.colorLayer在第2幀上爲空。爲什麼?我已經明確在第2幀中將HairStyle2命名爲「colorLayer」。
我認爲問題與我使用相同名稱的不同類/動畫片段有關,但我不知道如何解決問題...
我在我的hairStyle movieclips下面添加了一個方形movieclip,將其命名爲「colorLevel」,並從我的hairStyle剪輯中刪除了該名稱。當我點擊下一個按鈕時,正方形可以正確地保持幀與幀之間的顏色。然而,有一個正方形對我沒有什麼好處。 :(
我試圖將hairStyle圖層轉換爲蒙版。但是,這樣做會導致另一個「空對象」錯誤 - mc_myAvatar.hair.colorLayer在第1幀後爲空。我甚至嘗試「跨越」我的colorLevel在所有框架(沒有關鍵幀),認爲這會給我只有一個movieclip工作,沒有運氣,同樣的錯誤!
這是怎麼回事爲什麼我得到這些空對象,當他們被明確定義在我的影片剪輯?
我也開到一個更好的方式做多幀和顏色方面的建議。
我自己有這個問題。這可能是因爲你的框架沒有完全加載。幾秒鐘後你有沒有嘗試過打電話? – Frank
是的!你是對的。這就是發生的事情。點擊「nextHair」按鈕後,我創建了一個新的按鈕和函數來強制colorTransform。現在,我該如何實現自動化?是否有幀加載/完成的eventListener? (我所有的剪輯都是內部的。)如果您想將其作爲答案,我會將其標記爲「已接受」。 – user359519