Flash/AS3:访问中间时间线框架上的DisplayObject实例
我有一个动态文本字段,在FlashCS4的中间时间线框架上有一个实例名 我有一个从Sprite继承的类,它总是在实例化时添加到stage中。如何从该类获取对动态文本实例的引用 谢谢 编辑:示例: 我的主类(链接在Flash的发布设置中)如下所示:Flash/AS3:访问中间时间线框架上的DisplayObject实例,flash,actionscript-3,timeline,Flash,Actionscript 3,Timeline,我有一个动态文本字段,在FlashCS4的中间时间线框架上有一个实例名 我有一个从Sprite继承的类,它总是在实例化时添加到stage中。如何从该类获取对动态文本实例的引用 谢谢 编辑:示例: 我的主类(链接在Flash的发布设置中)如下所示: protected function beginGame(e:MouseEvent){ gotoAndStop(8); var game:GameContainer = new GameContainer(41,8); addC
protected function beginGame(e:MouseEvent){
gotoAndStop(8);
var game:GameContainer = new GameContainer(41,8);
addChild(game);
game.x=36;
game.y=128;
}
游戏容器扩展了MovieClip,并绘制了一些漂亮的gfx
在Flash IDE的第8帧中,有一个名为“scoreText”的动态文本元素实例
我想从GameContainer类访问它
可能吗?我认为应该将文本字段指定给变量。注意:您无法访问另一帧上的对象,只能在帧上访问该对象 但是。。您可以尝试使用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进行编译,则不需要此分配,因为它已经理解它了(顺便说一句),只要GameContainer在舞台上,您就可以执行以下操作:
if (MovieClip(root).scoreText) {
MovieClip(root).scoreText.text = "hello";
}
如果它不在后台,它就不会有root属性。您可以更具体一点,或者显示一些代码吗?你的班级是如何被添加到舞台上的?Righto-添加了一些例子。