簡體   English   中英

Flex擦除狀態轉換?

[英]Flex Wipe State Transitions?

我正在嘗試在2個狀態之間創建一個簡單的划像/滑動類型過渡。 與iPhone從一個列表“滑到”另一個列表的方式類似(即“收件箱”>“郵件列表”)

我似乎無法找到或找到正確的文檔,以了解如何使用2個簡單的畫布組件和過渡來實現此目的,其中一個滑動到屏幕左側,而另一個滑動到屏幕右側。

我已經用下面的代碼使第二個狀態“滑入”,但是如何修改以同時“滑出”第一個狀態?

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

提前致謝。

Adobe網站上 ,他們提到您應該使用並設置'fromState'和'toState'(您可以使用'*'來定義狀態)。 我假設您的2個簡單的canvas組件分別處於各自的狀態? 如果是這樣,則一旦設置了過渡效果,它就可以發揮出您的效果。 此外,鏈接的站點還提到可以將效果順序播放或並行播放,以獲得所需的效果。

編輯:

我做了一個小測試,這就是我想到的。 在我的測試中,這似乎都可行,因為兩個畫布都是動畫的。 我假設您正在使用setCurrentState(“ newState”, true )。 我希望這是您要的。

<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>

進一步編輯: 可能也很有用。 我認為您需要做的是,將兩個畫布都置於一種狀態,然后執行它。 也許您需要稍微重新排列您的狀態,以使兩個畫布都處於一個狀態,在此刻,我認為您已經將它們保持在單獨的狀態。

公共功能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);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM