【发布时间】:2014-06-05 21:49:11
【问题描述】:
我已经分析了一个项目的所有代码,在其中一个类中有一个在函数内递增的属性(变量),它实际上是一个动画步骤,播放 mc 下一帧的唯一方法是使用 gotoAndPlay ,gotoAndStop,prevFrame和nextFrame,但是在class里面就只有这个了..
public function hurt(_damage:Number):void
{
animationStep:int;
//trace("hurt", health, _damage)
health-=_damage
if(health <= 0)
{
kill=true
health=0
}
animationStep=5 - health
trace(animationStep);
}
那么是什么让 flash 知道,如果它只是一个整数 var,animationStep 是一种动画 mv 的方法?
【问题讨论】:
-
似乎更改该变量会使增量(步长)随着生命值的降低而变慢。我看到的唯一奇怪的事情是每次运行时都会重置animationStep。
-
我知道动画剪辑的唯一方法是使用 gotoAndPlay 等
-
没关系,但在开始时将变量设置为全局变量。在帧处理程序之外。
-
那么为什么编译器知道必须将变量作为参数传递给 gotoAndPlay, 函数呢?
-
没有。因为这会使它成为函数的本地化。如果您打算这样做,请将其传入,并使用 return 发送新值。
标签: variables actionscript movieclip