2016-08-24 2 views
-1

Comment faire avec "addchild (page2)" animer l'affichage avec Tweening!addchild avec animation cc par actionscript 3 language

Ceci est ma classe simple d'actionscript pour faire cela, MovieClip n'a pas joué d'animation en utilisant addChild(), avez-vous des suggestions?

ma page1..3 sont des 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); 
     } 

    } 

} 

Nous pouvons par this tween et sans programmation

par le mouvement tweening avec des cadres, nous pouvons utiliser multi-effets. Dans ce fichier l'effet de fondu utilise pour cela, mais peut effet 3d et un autre ..

+0

Quelle est la raison du vote négatif ?! –

Répondre

1

Nous l'essayons et l'obtenons. En ajoutant ce code dans notre cours.

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

Vous avez la bonne réponse par vous-même. Juste pour faire une erreur sur le côté plus sûr, vous devriez attendre pour recevoir un événement avant d'effectuer la transition ou de retirer l'objet de la liste d'affichage.

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, j'ai une question. Parce que je suis nouveau à actionscript, plusieurs func est mieux qu'un func? pour faire un coup! quand j'ai très pages, par exemple 1 ... 100. –

+0

Il ne s'agit pas des fonctions elles-mêmes, mais plutôt de l'événement qui déclenche la fonction. L'ajout d'un clip à la scène peut ne pas se produire immédiatement après la méthode addChild si l'ordinateur est lent. Vous devez donc toujours attendre l'événement ADDED_TO_STAGE avant d'appliquer une transition à l'objet. Vous pouvez consulter l'article sur http://www.emanueleferonato.com/2009/12/03/understand-added_to_stage-event/ pour comprendre ce modèle plus en détail. –

+0

excusez-moi, un autre q, comment vous suivre dans stackoverflow? –