0

我在 Flash CS4 的中间时间轴帧上有一个实例名称的动态文本字段。

我有一个继承自 Sprite 的类,它总是在实例化时添加到阶段。如何从此类中获取对我的动态文本实例的引用?

谢谢!

编辑:示例:

我的 Main 类(链接在 Flash 的发布设置中)如下所示:

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

Game Container 扩展了 MovieClip,并绘制了一些漂亮的 gfx。

在第 8 帧上,在 Flash IDE 中,有一个名为“scoreText”的动态文本元素实例。

我想从 GameContainer 类中访问它。

可能的?

4

2 回答 2

2

只要 GameContainer 在舞台上,您就可以:

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

如果它不在舞台上,它将没有根属性。

于 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 进行编译,则不需要此分配,因为它已经理解它(奇怪的不同 btw)

于 2010-11-17T20:09:19.790 回答