2014-04-21 101 views
0

我已经分析了一个项目的所有代码,在它的一个类中有一个函数内增加的属性(变量),它实际上是一个动画步骤,并且播放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); 
} 

是什么让闪存知道animationStep是一个动画MV,如果它只是一个整数变种的一种方式?

+0

看起来,改变该变量会使运行时间增加(步长)变慢。我看到的唯一奇怪的事情是animationStep每次运行时都会重置。 – durbnpoisn

+0

我知道动画动画片段的唯一途径是使用gotoAndPlay,ect –

+0

这很好,但在开始时将变量设置为全局变量。框架处理程序之外。 – durbnpoisn

回答

0

我正在设置它作为答案,因为它正在成为一个讨论。

看起来,改变该变量会使运行状况下降(步长)变慢。我看到的唯一奇怪的是,该animationStep重置每次运行

时间

迈克尔·何塞:我所知道的动画电影剪辑的唯一方法是使用的gotoAndPlay,ECT迈克尔 - 圣何塞4分钟前

这很好,但是在开始时将变量设置为全局变量。框架处理程序之外。

Michael Jose:为什么编译器知道变量必须作为参数传递到gotoAndPlay函数中?

不会。因为那会使它在本地功能。如果您打算这样做,那么将其传入,然后使用return来发送新值。

+0

根据以上评论:如果它是全球性的,它可以在任何地方修改。所以是的。编译器会知道如何处理它。你不需要传递它,假设你的函数本身也是全局的(goto函数就是这样)。 – durbnpoisn