2016-03-05 70 views
1

作爲一項作業,我必須編寫一個簡單的庫;我們也一直在使用GreenSock效果。這裏是我到目前爲止的代碼:啓用= false後激活回故障

import com.greensock.easing.*; 
import com.greensock.TweenLite; 

for (var i:Number = 0 ; i<5 ; i++){ 
    _root["a"+i].onRollOver=function(){ 
     TweenLite.to(this,.5,{_xscale:130,_yscale:130, 
        _alpha:90, 
        ease:Elastic.easeOut}); 
    } 
    _root["a"+i].onRollOut=function(){ 
     TweenLite.to(this,.5,{_xscale:100,_yscale:100, 
        _alpha:50, 
        ease:Elastic.easeOut}); 
    } 
    _root["a"+i].onPress=function(){ 
     var ix=this._name.substr(1); 
     TweenLite.to(_root["z"+ix],1,{_y:199.95, 
        ease:Quart.easeOut}); 
     for(i=0 ; i<5 ; i++){ 
      _root["a"+i].enabled=false; 
    } 
    } 
    _root["z"+i].cer.onPress=function(){ 
     var ix=this._parent.name.substr(1); 
     TweenLite.to(_root["z"+ix],1,{_y:-190.15, 
        ease:Quart.easeIn}); 
     for(i=0 ; i<5 ; i++){ 
      _root["a"+i].enabled=true; 
      _root["a"+i]._xscale=100; 
      _root["a"+i]._yscale=100; 
      _root["a"+i]._alpha=50; 
    } 
} 
} 

我知道有很多方法可以做到畫廊但是這幾乎是我們在課堂與工作,所以我真的不能有太大變化的結構。事情是,一切都很好,但是一旦我看到Content(z)顯示的位置,然後單擊它內部的關閉它的Movieclip(「cer」),雖然它確實返回了,可以說Select-圖像按鈕(a)到它的原始狀態(選中時稍微彈出),它似乎簡單地忽略了TweenLite。

_root["z"+i].cer.onPress=function(){ 
     var ix=this._parent.name.substr(1); 
     TweenLite.to(_root["z"+ix],1,{_y:-190.15, 
     ease:Quart.easeIn}); 

display

據我瞭解,在這裏我們基本上說: 命名爲「Z」 +變種的當前數目符號的「我」,符號「CER」它裏面在點擊時會有以下功能 - 我們再次定義var「ix」,它是前一個的兒子;從所選符號的名稱中減去一個字符的結果(所以我們只能得到符號的數字,因爲可能有大量的符號,並且我們使用for來簡化) - 函數,使用TweenLite庫效果,將返回到它在顯示器外部的位置符號「z」+我們從剛剛定義的var「ix」獲得的數字

現在,我無法找到爲什麼該指令會被忽略的原因,當一個簡單的跟蹤似乎與onPress很好地工作;所以這讓我相信它與TweenLite有關。另外,我相信它可能與enable = false/true有關,但我已經嘗試將它放在函數的不同時刻,而且似乎並沒有太多發生。 我不認爲它與調用符號-sorry有關係,我只是在瞭解所有這些,所以這就是我可以描述的方式 - 因爲幾乎與之前使用的代碼非常相似內容(z)被繪製到顯示器中,並且工作得很好。

它是一個結構問題? 我發現這對Adobe幫助網站:

「注意如果包含_root的影片剪輯加載到另一個影片 剪輯,_root指的是加載影片剪輯的時間軸,而不是 時間軸包含_root。如果要確保_root將 引用到加載的影片剪輯的時間軸中,即使它已加載到 另一個影片剪輯中,請使用MovieClip._lockroot。「

由於我的關閉按鈕MovieClip位於內容MovieClip內,我需要使用鎖根嗎?如果是這樣,怎麼樣?

我真的會貶低一些建議.. 謝謝你的時間!

回答

0

您應該儘量避免使用絕對路徑。改用相對。只需使用this而不是_root