2016-08-24 9 views
-1

「addchild(page2)」のアニメーション表示方法はTweening!addchild with animate cc Actionscript 3言語

これは私の単純なクラスのActionScriptで、MovieClipはaddChild()を使用してアニメーションを再生しませんでした。何か提案がありますか?

my page1..3は映画クリップです!私たちは、thisトゥイーンでかつフレームとトゥイーンモーションによって

をプログラミングすることなく、我々はマルチエフェクトを使うことができ

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); 
     } 

    } 

} 

。このファイルでは、フェード効果がそれを使用しますが、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は1つのfuncよりも優れていますか?何のために行う!私は非常にページがあるときなど。 1 ... 100。 –

+0

関数そのものではなく、関数をトリガするイベントが発生します。ステージが遅い場合は、addChildメソッドの直後にムービークリップをステージに追加することはできません。したがって、オブジェクトへのトランジションを適用する前に、常にADDED_TO_STAGEイベントを待つ必要があります。 このモデルについて詳しくは、http://www.emanueleferonato.com/2009/12/03/understand-added_to_stage-event/の記事を参照してください。 –

+0

私を失礼、別のq、どのようにstackoverflowであなたに従う? –

関連する問題