頻繁に作成されるこのツールチップがあります。適切なactionscriptのエティキートは何ですか?
A.必要に応じてツールチップmoveclipを作成して削除するには?
また
B.必要に応じてツールチップムービークリップを非表示にして表示するには?
頻繁に作成されるこのツールチップがあります。適切なactionscriptのエティキートは何ですか?
A.必要に応じてツールチップmoveclipを作成して削除するには?
また
B.必要に応じてツールチップムービークリップを非表示にして表示するには?
これらのAとBの場合、答えはBです。オブジェクトを何度も作成してから削除すると、メモリに大量のガベージが作成され、最終的にガベージコレクタの呼び出しが発生し、SWFのパフォーマンスが低下するためです。単一のツールチップMCを使用して簡単に移動できます。表示する前に、新しいマウス座標に対応する情報を入力するだけです。
visible
プロパティまたはaddChild()
and removeChild()
(AS3のみ)を介してムービークリップを非表示および表示する方法について、あなたほど簡単ではない別の質問があります。AS2またはAS1を使用している場合は、visible
プロパティを使用してツールチップを表示および非表示にします。
Actionscript で何かを非表示にする方法は 3 つあります。アルファ、可視、子の削除です。
Apha:アルファ ゼロを回すと、レンダラーは常にこの displayObject に到達し、アルファ ゼロでレンダリングします。したがって、オブジェクトは常にレンダリングされ、表示されません。
Visible == falseこの場合、オブジェクトはまだディスプレイリストに存在します。したがって、レンダラーはオブジェクトに来ます。プロパティが false であることを確認してそのままにしますが、表示リストにはまだ存在します。
removeChildこれは、表示リストからオブジェクトを削除していることを意味します。これは、レンダラーがそれをチェックする必要さえなかったことを意味します。これが最速のオプションになります。
addChild は、目に見えるチェックほど多くの計算能力を必要としません。これでベンチマークを見つけることができると確信しています。
画面に多くのオブジェクトがなく、ツールチップが毎秒表示される場合は、visible を false に設定します。それ以外の場合はすべて、3 番目のオプションを使用します。
余談ですが、toolTipManager を使用してそれらを管理する方が常に簡単であることがわかりました。通常、ユーザーはツールヒントを 1 つしか使用しないため、画面上にツールヒントが 1 つ表示されるようにするクラス。だから、それは私にとって物事をより簡単にします。私は常に必要なツールチップを作成し、必要に応じて表示リストに追加して削除します。(それらを再作成しないでください) 同時に、ステージ上のツールチップは 1 つだけです。