我已经分析了一个项目的所有代码,在其中一个类中有一个属性(变量)在一个函数内递增,它实际上是一个动画步骤,以及唯一的玩法mc的下一帧是gotoAndPlay,gotoAndStop,prevFrame和nextFrame,但在课堂上就是这个......
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知道animationStep是一种动画mv的方式,如果它只是一个整数var?
答案 0 :(得分:0)
我将此设置为答案,因为它正在成为讨论。
似乎改变该变量会使健康减少时增量(步长)变慢。我看到的唯一奇怪的事情是每次运行时都会重置animationStep
迈克尔何塞:我知道动画电影剪辑的唯一方法是使用gotoAndPlay,等等 - 迈克尔何塞4分钟前那很好,但是在开始时将变量设置为全局变量。框架处理程序之外。
迈克尔·何塞:那么为什么编译器知道变量必须作为参数传递给gotoAndPlay,函数?没有。因为这会使它成为函数的本地。如果您打算这样做,那么将其传入,并使用return发送新值。