2016-08-24 75 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中关注你? –