これを行うのは難しいです。このリンクを参照してくださいここにリンクの説明を入力してくださいご覧
のとおり、DisplayObjectがStaticTextであるかどうかを確認でき、mousXプロパティとMouseYプロパティを確認することで、ロールオーバーがこのフィールドに関連しているかどうかを確認できます。動的テキストを使用し、選択可能なフィールドのチェックを外すと、StaticFieldとして機能するテキストフィールドが得られます
編集
これは私が意味する説明です:BlackflashドキュメントのステージにStaticTextフィールドを入れましょう。
var myFieldLabel:StaticText
var i:uint;
//This for check for all staticFields in state and trace its text. It is possible and it is working. I my case I have only one field and I get reference to it in myFieldLabel:StaticText var. Also I change it's alpha to 0.3.
for (i = 0; i < this.numChildren; i++)
{
var displayitem:DisplayObject = this.getChildAt(i);
if (displayitem instanceof StaticText) {
trace("a static text field is item " + i + " on the display list");
myFieldLabel = StaticText(displayitem);
trace("and contains the text: " + myFieldLabel.text);
trace( myFieldLabel.mouseX);
myFieldLabel.alpha = 0.3;
}
}
//Adds event listener to the stage for mouse move event
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseRollOver);
//This is an event handler. I check if the mouse position is within the static field
function mouseRollOver(evnt:MouseEvent):void
{
if ( 0 <= myFieldLabel.mouseX && myFieldLabel.mouseX <= myFieldLabel.width && 0 <= myFieldLabel.mouseY && myFieldLabel.mouseY <= myFieldLabel.height )
{
mouseOverStaticText( evnt)
}
else
{
mouseNotOverStaticText( evnt)
}
}
// this two methods change the static field alpha. Thay are only to show that is posible to detect and manipulate some properties of the StaticField.
function mouseOverStaticText( evnt)
{
myFieldLabel.alpha = 1;
}
function mouseNotOverStaticText( evnt)
{
myFieldLabel.alpha = 0.3;
}
StaticTextフィールドの管理の目的がわかりません。StaticTextは、何かをしなければならない場合に管理するように設計されていません。これにより、フィールドが静的であってはならないことがほぼ確実になります。動的(選択可能なプロパティなし)にするか、MovieClipでカプセル化するか、別のソリューションを使用することができます。場合。