2016-08-24 16 views
-1

Как с "addchild (page2)" анимационный показ с Tweening!addchild with animate cc by Actionscript 3 язык

Это мой простой класс ActionScript, чтобы сделать это, MovieClip не воспроизводил анимацию при использовании addChild(), есть ли у вас какие-либо предложения?

my page1..3 - это MovieClips!

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, у меня вопрос. Поскольку я новичок в actionscript, несколько func лучше, чем один func? для сделать один производится !. когда у меня есть очень страницы, например. 1 ... 100. –

+0

Речь идет не о самих функциях, а о событии, которое вызывает функцию. Добавление видеоклипа на сцену может не произойти сразу после метода addChild, если компьютер работает медленно. Поэтому вы всегда должны ждать события ADDED_TO_STAGE, прежде чем применять какой-либо переход к объекту. Более подробную информацию об этой модели вы можете найти в статье http://www.emanueleferonato.com/2009/12/03/understand-added_to_stage-event/. –

+0

Извините, другой q, как следовать за вами в stackoverflow? –