2016-08-24 78 views
-1

如何與「addchild(page2)」動畫顯示補間!addchild動畫cc通過Actionscript 3語言

這是我的簡單動作類,使用addChild()時MovieClip沒有播放動畫,你有什麼建議嗎?

我的page1..3是動畫片段!

package 
{ 

    import flash.display.MovieClip; 
    import flash.events.MouseEvent; 
    import flash.events.TouchEvent; 

    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; 

    public class Main extends MovieClip 
    { 
     var page1: Page1; 
     var page2: Page2; 
     var page3: Page3; 


     public function Main() 
     { 
      page1 = new Page1; 
      page2 = new Page2; 
      page3 = new Page3; 
      addChild(page1); 
      // 


      // 
      page1.clip2.addEventListener(TouchEvent.TOUCH_BEGIN, onClip2ButtonClick); 
      page2.clip.addEventListener(TouchEvent.TOUCH_BEGIN, onClipButtonClick); 
     } 

     function onClipButtonClick(event: TouchEvent): void 
     { 
      addChild(page3); 
      removeChild(page2); 
     } 

     function onClip2ButtonClick(event: TouchEvent): void 
     { 
      addChild(page2); 
      removeChild(page1); 
     } 

    } 

} 

我們可以通過this吐溫並且不受補間運動與框架編程

,我們可以使用多效。在這個文件淡入淡出效果使用,但可以3d效果和其他..

+0

負面投票的原因是什麼? –

回答

1

我們試着明白了。 將此代碼加入我們課程。

function onClipButtonClick(event: TouchEvent): void 
      { 
       addChild(page1); 
       var myTM: TransitionManager = new TransitionManager(page1); 
       myTM.startTransition(
       { 
        type: Fly, 
        direction: Transition.IN, 
        duration: 3, 
        easing: Back.easeOut 
       }) 

       removeChild(page2); 
      } 
2

你已經得到了正確的答案。只是爲了安全起見,您應該等待在執行轉換或從顯示列表中刪除對象之前收到事件。

private function clip_touchBeginHandler(event:Event):void 
{ 
    page1.addEventListener(Event.ADDED_TO_STAGE, page1_addedToStageHandler); 
    addChild(page1); 
} 

private function page1_addedToStageHandler(event:Event):void 
{ 
    var tm:TransitionManager = new TransitionManager(page1); 
    var transition:Transition = tm.startTransition(...); // Add your transition parameters here 
    transition.addEventListener("transitionInDone", transition_transitionInDone); 
} 

private function transition_transitionInDone(event:Event):void 
{ 
    removeChild(page1); 
} 
+0

thx,我有問題。因爲我是動作新手,有幾個func比一個func好?爲了做一個表演!當我有很多頁時1 ... 100。 –

+0

這不是關於函數本身,而是觸發函數的事件。如果計算機速度較慢,則可以在addChild方法之後立即將影片剪輯添加到舞臺。因此,在應用到對象的任何轉換之前,您應始終等待ADDED_TO_STAGE事件。 您可以參考http://www.emanueleferonato.com/2009/12/03/understand-added_to_stage-event/上的文章來更詳細地瞭解此模型。 –

+0

請問,另一個q,如何在stackoverflow中關注你? –