0

FlashCS4のミッドタイムラインフレームにインスタンス名を持つダイナミックテキストフィールドがあります。

Spriteを継承し、インスタンス化時に常にステージに追加されるクラスがあります。このクラスからダイナミックテキストインスタンスへの参照を取得するにはどうすればよいですか?

ありがとう!

編集:例:

私のメインクラス(Flashの公開設定にリンクされている)は次のようになります。

protected function beginGame(e:MouseEvent){
    gotoAndStop(8);
    var game:GameContainer = new GameContainer(41,8);
    addChild(game);
    game.x=36;
    game.y=128;
}

ゲームコンテナはMovieClipを拡張し、かなりのgfxを描画します。

フレーム8のFlashIDEには、「scoreText」という名前のダイナミックテキスト要素インスタンスがあります。

GameContainerクラスからこれにアクセスしたいと思います。

可能?

4

2 に答える 2

2

GameContainerがステージ上にある限り、次のことができます。

if (MovieClip(root).scoreText) {
  MovieClip(root).scoreText.text = "hello";
}

ステージ上にない場合、rootプロパティはありません。

于 2010-11-17T20:22:25.990 に答える
0

テキストフィールドを変数に割り当てる必要があると思います。別のフレームにあるオブジェクトにはアクセスできないことに注意してください。フレームにいるときにのみアクセスできます。

しかし..そのためにaddFrameScript()を使用してみることができます。

public var scoreText:TextField

protected function init():void
    addFrameScript(8, assignTextfield);
}

public var assignTextfield():void
{
     this.scoreText = scoreText;
} 

// somewhere in your class

protected function beginGame(e:MouseEvent):void
{
     if (this.scoreText) this.scoreText.text = 'hello world';
}

コードはテストしていませんが、次のようになります。Flex SDKを使用してコンパイルしている場合、この割り当てはすでに理解されているため、必要ありません(奇妙なことに)

于 2010-11-17T20:09:19.790 に答える