2009-04-03 15 views
0

2つの州の間で簡単なワイプ/スライドタイプのトランジションを作成しようとしています。同じリストから別のものへのiphone 'スライドのやり方に似ています(つまり、受信トレイ>メールリスト)フレックスワイプ状態遷移?

2つの単純なキャンバスコンポーネントとトランジションを使用してこれを行う方法については、右からもう一方のスライドが画面の左側にスライドします。

私は次のコードで「スライドイン」という2番目の状態を持っていますが、同時に最初にスライドアウトするように変更する方法はありますか?

<mx:transitions> 
    <mx:Transition fromState="summaryState" toState="detailState"> 
    <mx:Parallel target="{contentCanvas}"> 
     <mx:WipeLeft duration="300"/> 
    </mx:Parallel> 
    </mx:Transition> 
</mx:transitions> 

ありがとうございます。

+0

私はうまくいけば、それはあなたが探しているもので、私の答えに明確化を追加しました。 – nevets1219

答えて

1

Adobe's siteには、 'fromState'と 'toState'を設定する必要があります(状態を定義するには '*'を使用してください)。あなたの2つのシンプルなキャンバスコンポーネントがそれぞれ独自の状態にあると仮定していますか?もしそうなら、一度トランジションを設定すると、エフェクトを再生することができます。リンクされたサイトでは、エフェクトを連続して、または並行して再生することができます。これは、必要な効果を得るために必要な場合があります。

EDIT:

私は小さなテストを行なったし、これは私が思い付いたものでした。両方のキャンバスがアニメーション化されているので、私のテストではうまくいくようです。私はあなたがsetCurrentState( "newState"、)を使用していると仮定しています。私はこれがあなたが求めているものであることを願っています。

<mx:transitions> 
    <mx:Transition fromState="FirstState" toState="SecondState"> 
    <mx:Parallel> 
     <mx:WipeLeft target="{CanvasA}" duration="300"/> 
     <mx:WipeRight target="{CanvasB}" duration="300"/> 
    </mx:Parallel> 
    </mx:Transition> 
</mx:transitions> 

またEDIT: Thisも同様に有用であり得ます。あなたがする必要があることは、両方のキャンバスを一つの状態にしてから、それを実行することです。おそらく、あなたの状態を少し変えて両方のキャンバスが一つの状態になるようにする必要があります。現時点では、あなたがそれらを別々の状態に保っていると仮定しています。

+0

あなたの返信を読むまで、私のコードサンプルが表示されていないことに気付かなかった。私はそれを編集するために編集しました。私の質問は、第2の状態が右に並行してスライドするにつれ、第1の状態を左にずらす方法がまだあると思います。 – WillyCornbread

+0

これは非常に役に立ちました。私が望む効果を得るためには、本当の効果を使用して、ワイプではなく移動効果を使って再生する必要がありました。 – WillyCornbread

0

public function addTransitions():void { var transition:Transition = new Transition();
var move:Move = new Move();

move.duration=400; 
    move.targets = windowArray; 

    transition.fromState = "*"; 
    transition.toState = "*"; 
    transition.effect = move;    

    // I was mising THIS line 
    transitions.push(transition); 

}

関連する問題