1
var newParagraph : ParagraphElement = new ParagraphElement();

var icon : InlineGraphicElement = MY_ICON;
//   icon.toolTip = "boo"  ????
newParagraph.addChild( icon );

「アイコン」の特定のツールチップが必要です。HTML と rollOver と rollOut (例: Thanks, Mister ) の使用について読んだことがありますが、これをより大きなテキスト ブロックの一部として作成しています。インクリメンタル オブジェクトから HTML に途中で切り替えるのは困難です。

アイコンにイベントを設定できない場合、ActionScript で段落の一部 (すべてではない) として HTML ビットを作成できますか?

乾杯

4

3 に答える 3

2

私はちょうど同じ問題に遭遇しました。

私が見つけた最も簡単な解決策は、InlineGraphicElement を LinkElement にラップすることでした。

LinkElement は既にマウス イベントを送出しています。

于 2011-12-22T10:52:28.720 に答える
1

問題は(あなたが知っていると確信しているように)、テキストフロー要素が表示オブジェクトではないため、通常の表示オブジェクトの動作を実装しないことです。

必要なのは、必要なイベントリスナーをアタッチするカスタムInlineGraphicElementを作成し、textFlowインスタンスからイベントをディスパッチして、表示オブジェクト階層のどこかで読み取ることができるようにすることです(または、選択したメソッドがそれをターゲットにする場合は何でも)イベント)。

LinkElementのソースを確認することで、マウスの相互作用を追加する方法の良い例を見ることができます(createContentElement関数を参照)。

残念ながら、InlineGraphicElementはfinalとマークされているため、拡張するのではなく、その機能を複製する必要があります。通常のグラフィック要素の代わりに、コードでカスタムグラフィック要素を使用してください。

頑張ってください!

編集

ポイントが失われた場合に備えて、textFlowにリスナーをアタッチすることで、アプリのどこかでマウスイベントをキャプチャし、標準のメソッドを使用してツールチップをプログラムで作成して要素上に配置し、の境界を見つけることができます。テキストフロー要素。

于 2011-05-27T23:04:52.603 に答える