2011-04-26 49 views
0

我有一個Flash文件,我試圖改變每個頁面的背景。背景本身很好地改變,但我有一個問題,讓背景縮放到舞臺大小。我使用GreenSock的液體區,試圖處理它,它爲我介紹更多的我的代碼哽咽着單個後臺做的好,但只要..Greensock&Gaia液體區域問題

package com.picturesite.pages 
{ 
    import com.gaiaframework.api.*; 
    import com.gaiaframework.debug.*; 
    import com.gaiaframework.events.*; 
    import com.gaiaframework.templates.AbstractPage; 
    import com.greensock.TweenMax; 
    import com.greensock.easing.*; 
    import com.greensock.layout.*; 

    import flash.display.*; 
    import flash.events.*; 

    public class IndexPage extends AbstractPage 
    { 
     public var bg1:MovieClip; 
     public var bg2:MovieClip; 
     public var bg3:MovieClip; 
     public var bg4:MovieClip; 
     public var bg5:MovieClip; 
     public var bg6:MovieClip; 
     public var newBG:MovieClip; 
     public var bBar_mc:MovieClip; 


     var releaseGaia:Function = Gaia.api.afterTransitionOut(onAfterTransitionOut, true); 

     public function IndexPage() 
     { 
      super(); 
      alpha = 0; 

     } 
     override public function transitionIn():void 
     { 
      super.transitionIn(); 
      bg2.visible=bg3.visible=bg4.visible=bg5.visible=bg6.visible=false; 
      TweenMax.to(this, 0.3, {alpha:1, onComplete:transitionInComplete});  

      var ls:LiquidStage = new LiquidStage(this.stage, 960, 760, 960, 760); 
      var area:LiquidArea = new LiquidArea(this, 0, 0, 960, 760); 
      area.attach(newBG, ScaleMode.PROPORTIONAL_OUTSIDE); 
      ls.update(); 
     } 

     override public function transitionOut():void 
     { 
      super.transitionOut(); 
      TweenMax.to(this, 0.3, {alpha:0, onComplete:transitionOutComplete}); 
      Gaia.api.removeAfterTransitionOut(onAfterTransitionOut); 
     } 

     private function onAfterTransitionOut(e:GaiaEvent):void 
     { 
      var newBG:MovieClip; 

      switch(Gaia.api.getCurrentBranch()) 
      { 
       case Pages.HOME : 
        newBG = bg1; 
        break; 

       case Pages.PACKAGES : 
        newBG = bg2; 
        break; 

       case Pages.PHOTOS_SAMPLES : 
        newBG = bg3; 
        break; 

       case Pages.VIDEOS_SAMPLES : 
        newBG = bg4; 
        break; 

       case Pages.TESTIMONIES : 
        newBG = bg5; 
        break; 

       case Pages.CONTACT : 
        newBG = bg6; 
        break; 

      } 

      TweenMax.allTo([bg1,bg2,bg3,bg4,bg5,bg6], .5, {autoAlpha:0}); 
      TweenMax.to(newBG, .5, {alpha:1, onComplete:releaseGaia}); 

     } 

    } 
} 

回答

2

我真的不知道的事兒,但這條線:

TweenMax.to(this, 0.3, {alpha:0, onComplete:transitionOutComplete}); 

也許淡化了一切。如果我在圖書館的主頁上看到它,那麼該代碼將隱藏所有內容,因爲代碼設置爲alpha到 in 0.3 secs。是對的嗎?如果是這樣,那麼也許可以將this更改爲newBG,如果您想淡出newBG對象。到目前爲止,你似乎淡出了整個事情。

所以:

TweenMax.to(newBG, 0.3, {alpha:0, onComplete:transitionOutComplete}); 

或者在onAfterTransitionOut,把

this.alpha = 1; 

希望這有助於或給你一些想法。

+0

我會嘗試更長的時間,但問題不是alpha值,但它們沒有縮放到「transitionIn」中的完整舞臺尺寸......是的,一切都會消失,因爲這個文件中唯一的東西就是背景。 – dmschenk 2011-04-26 16:36:03