在Flash中:gotoAndStop和嵌套的MovieClip问题

时间:2009-04-27 18:42:02

标签: flash actionscript-3

这是一个奇怪的问题,我希望有足够的信息继续下去:

在flash IDE中,我有一个有3帧的MovieClip。在每个框架中,我有一系列TextFields。这是一个糟糕的勒芒视图堆栈 - 所以这是问题 - 在FP10中我可以编写以下代码而没有问题:

public function showMenu():void{

     gotoAndStop(2);
     textItem.text = "This worked."

}

其中“this”是MovieClip,textItem是仅在movieClip的第二帧上的TextField。如果我的目标FP9并运行相同的代码,我得到一个1009错误,试图引用一个空的对象上的属性。

我理解它在完全实例化之前尝试访问该属性,我不明白为什么它在FP10而不是FP9中工作?在Flash播放器中有什么可以改变的呢?

更新:

看起来FP9中有些奇怪 - 可以在这里找到解决方法:

http://www.scottgmorgan.com/blog/index.php/2008/03/06/accessing-displayobjects-on-the-timeline-after-a-gotoandstop-or-gotoandplay/

2 个答案:

答案 0 :(得分:2)

是的,它已经改变了。这个在as2中可能,但在as3中消失了,它采用了更短时间线脚本的简单性。因此,它在FP10中恢复。我已经阅读了adobe的某篇关于此的博客文章,但我现在找不到它。

答案 1 :(得分:0)

我通常发现,当你在时间轴上有对象时,为了使用actionscript访问它们,它们必须位于时间轴的所有帧上,你只需将它们的可见性设置为隐藏它们的'不应该在屏幕上。我很确定我用fp10以及fp9遇到了这个问题,所以我很惊讶你的代码在fp10中实际上适合你。