覆盖实例中的MovieClip变量

时间:2012-11-24 13:44:07

标签: actionscript instance-variables override

假设我有一个movieclip,在这个movieclip中我定义了一些Actionscript变量。例如

var majorValue:Number = 20;  
var minorValue:Number = 10;

默认情况下,舞台上此动画片段的每个实例都会包含这些变量,并设置为这些值。现在,让我说我在舞台上有三个这个动画片段的实例,我称之为“Moe”,“Larry”和“Curly”。假设我想离开Moe和Larry作为movieclip的默认实例,但是我想调整“Curly”实例以使它的majorValue为50,而它的minorValue为15.我该怎么做呢?

我已经尝试过指定:

Curly.majorValue = 50;
Curly.minorValue = 15;

在父时间轴中,但这似乎不起作用,因为看起来动作脚本首先在父剪辑中执行,然后在子(ren)剪辑中执行。换句话说,我对“Curly”实例的特殊值的声明被剪辑的默认声明覆盖,默认声明在父剪辑的动作脚本之后执行。

有没有人知道如何覆盖特定实例的movieclip的默认变量?

1 个答案:

答案 0 :(得分:0)

有一个关于使用时间线的旧提示,其中说“如果有疑问,请添加一个关键帧”。实际上,如果可能的话,更好的建议是尽量避免使用时间表。

我认为你对正在发生的事情的总结可能是正确的。实际上,您正在尝试在实例正确实例化之前更新实例上的属性。实例化时,值将重置为默认值。

解决方案是添加一个额外的框架并放置代码,在第二帧中设置实例的属性(以及stop操作)。这将确保在实例化实例后执行代码。