0

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

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

默认情况下,舞台上此影片剪辑的每个实例都将具有这些变量,并设置为这些值。现在,假设我在舞台上有这个影片剪辑的三个实例,我将它们称为“Moe”、“Larry”和“Curly”。假设我想将 Moe 和 Larry 作为影片剪辑的默认实例,但我想调整“Curly”实例,使其 majorValue 为 50,minorValue 为 15。我该怎么做呢?

我已经尝试通过指定来做到这一点:

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

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

有谁知道如何为特定实例覆盖影片剪辑的默认变量?

4

1 回答 1

0

关于使用时间线有一个古老的提示,“如果有疑问,请添加关键帧”。实际上,更好的建议是尽可能避免完全使用时间线。

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

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

于 2012-11-25T14:40:33.737 回答