2

私は Actionscript 2 または 3 を学習しようとしています。AS2 を使用して、試行錯誤の結果、任意の名前付きインスタンスを取得し、その名前の文字列を使用して変更できることが最終的にわかりました。

var theinstance = "titletext"; // actually exctracted from an array
_root[theinstance].htmlText = "New text with <b>HTML!</b>";

しかし、コードを AS3 に変換しようとすると、_rootもう存在しません。移行ドキュメントによると、それは何らかの形で置き換えられてflash.display.DisplayObject.stageいますが、明らかにこれはそれを行う方法ではありません:

flash.display.DisplayObject.stage[theinstance].htmlText = "New text with <b>HTML!</b>";

そして、これもそうではありません:

flash.display.DisplayObject.stage.getChildByName(theinstance).htmlText = "New text with <b>HTML!</b>";

actionscript 3で名前で子供を取得するにはどうすればよいですか?

4

2 に答える 2

3

やりたいことに応じて、「ルート」(アンダースコアなし)または「ステージ」のいずれかを使用してください。

ただし、文字列の代わりに配列に textField への参照を格納しないのはなぜですか?

于 2008-11-20T14:28:36.993 に答える
2

「flash.display.DisplayObject」は、実際に呼び出すコードの一部ではありません。むしろ、ドキュメンテーションは、stage プロパティがDisplayObject クラスの任意のインスタンス ( movieClip やスプライトなど) で使用できることを示しています。

たとえば、foo という名前の movieClip がある場合、ステージを次のように参照できます。

foo.stage

そしてそこから行きます。

foo.stage.someRootLevelObject.htmlText = "Pretty <b>easy</b>";
于 2008-11-20T13:47:57.857 に答える