1

私はいくつかのアニメーションを備えたフラッシュのウェブサイトを開発しています(そうそう)、そして私は私がより良いパフォーマンスを得る方法について疑問を持っています。このアニメーションの一部では、アルファが1から0に変更されました。したがって、2つの方法があります。

  • もちろんトゥイーンですが、オブジェクトはalpha = 0でステージ上に残りますが、処理ジョブは残っていますか?または、Flashは賢く、オブジェクトを無視しますか?
  • 手動で、アルファが0.1未満の場合、visible=0に設定します。これで完了です。しかし、トゥイーンは手作りの関数よりも速いのではないかと思います...

何か意見はありますか?

4

3 に答える 3

1

間違いなくGreensockライブラリを使用してください。

アルファをアニメートしてから非表示にするには、次のようにします。

TweenLite.to(movieClip, 0.5, { autoAlpha: 0 });

Greensock Tweeningエンジンの詳細: http ://www.greensock.com/tweenlite/

ディスプレイリストにオブジェクトが多すぎてパフォーマンスに影響する場合でも、オブジェクトを「レンダリング」領域から移動できます。これは(私が正しければ)ステージから2000ピクセル離れているため、次のようにする必要があります。

TweenLite.to(movieClip, 0.5, {autoAlpha: 0, onComplete: function() {
    movieClip.x = movieClip.y = 10000;
}});

お役に立てば幸いです、ロブ

于 2012-11-09T17:41:14.150 に答える
1

アイテムのalpha値が。の0場合でも、プレーヤーによってレンダリングされ、マウス/インタラクションイベントがディスパッチされ、その親の境界に影響を与えます。

に設定visibleするfalseと、オブジェクトはプレーヤーによってレンダリングされず、マウス/インタラクションイベントをディスパッチしません。ただし、それでも親の境界には影響します。

本当に効率的になりたい場合は、表示リストからアイテムを完全に削除することをお勧めします。例えば。removeChild(item);そうすれば、親の境界に影響を与えなくなり、実際にはレンダリングされません。

トゥイーンに関しては、どのライブラリでも、トゥイーンが完了したとき、または表示リストから削除したときに、visibleをfalseに設定するのは非常に簡単です。greensocksトゥイーンライブラリには、実際にそれを行うための特別なパラメータがあります-使用するalphaプロパティを使用する代わりに、useを使用しますautoAlpha。値がゼロに下がるときはいつでも、可視性をfalseに設定します。0を超えると、trueに戻ります。

トゥイーンが手作りの機能よりも速いかどうかは、トゥイーンと手作りの機能の品質に依存します。ほとんどのトゥイーンライブラリは非常に効率的で、心配する必要はありません。

于 2012-11-09T17:41:51.037 に答える
1

alpha がゼロに設定されている場合でも、Flash は表示リストの表示オブジェクトを計算します。

Alpha はクリップの不透明度を決定し、visible はクリップがプレーヤーによってレンダリングされるかどうかを決定します。

したがって、表示や操作が不要な場合は、visible=false の方がパフォーマンスが高くなります。

于 2012-11-09T17:28:48.160 に答える