2014-04-21 143 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