對於我正在處理的項目,我試圖創建一個具有不斷變色梯度的Flash文件,填充整個瀏覽器窗口。爲了更好的說明,請參閱以下鏈接:創建最高效的全屏色彩移位梯度
不要擔心移動球,那些只是有挑戰影片的幀速率,如果你看它有一個最大的60在後臺你可以看到我所指的漸變效果。
我目前用來創建漸變動畫的方法是在Flash時間軸上的一個簡單形狀補間,該補間在不同漸變顏色的形狀之間進行補間。我絕對沒有達到我想要使用這種技術的性能。
因此,這是一個冗長的方式來問人們會認爲什麼是更好的方式來創建這樣一個顏色轉換梯度,同時獲得更好的性能?一些例子可能是通過bitmapData或使用PixelBender,但我對這些技術不夠熟悉,不知道哪個能夠讓我獲得最佳性能。任何幫助,將不勝感激!
注意:在下面的評論中是上面貼出的示例中使用的所有項目文件的鏈接。
更新:
我用我的地方基於時間軸的梯度動畫zkarcher的代碼來比較每個的性能張貼的例子的附加版本。應該注意的是,我的版本(v1)始終播放漸變,而基於代碼的版本(v2)每次單擊時只播放漸變動畫5秒。
作爲一個新用戶,我只允許每一個崗位鏈接,以便請原諒的原始網址
http://www.chrismalven.com/experiments/GradientTest/
http://www.chrismalven.com/experiments/GradientTest_v2/
對於那些有興趣使用的版本zkarcher的漸變補間代碼與TweenLite/TweenMax,用下面的代碼替換Tweener引用,並確保導入TweenMax ColorTransform插件以及:
// Load the TweenMax Class Libraries import gs.*; import gs.easing.*; import gs.plugins.*; TweenPlugin.activate([ColorTransformPlugin]); TweenMax.to( bmp, // Object to tween changeSpeed, // Duration of the Tween {colorTransform: { redMultiplier: (o2.r-o1.r)/255.0, greenMultiplier: (o2.g-o1.g)/255.0, blueMultiplier: (o2.b-o1.b)/255.0, alphaMultiplier: 1, redOffset: o1.r, greenOffset: o1.g, blueOffset: o1.b, alphaOffset: 0 }, ease:Quad.easeOut, } );
http://gradient-test.googlecode.com/files/GradientTest.zip – cmal 2009-10-10 23:38:22
經過一點點研究,好像這可能提供了唯一的技術顯著更好的性能使用PixelBender。我對PixelBender一無所知,但我會學習基礎知識,看看我能不能做出任何事情。 – cmal 2009-10-12 14:33:02