Flex Wipe State Transitions? - PullRequest
       7

Flex Wipe State Transitions?

0 голосов
/ 04 апреля 2009

Я пытаюсь создать простой переход типа стирание / скольжение между двумя состояниями. Подобно тому, как iphone «скользит» из одного списка в другой (т. Е. Входящие> почтовый список)

Кажется, я не могу найти или найти правильную документацию о том, как это сделать, используя 2 простых компонента холста и переходы, когда один скользит за пределы экрана влево, а другой скользит справа.

У меня есть второе состояние «скольжения» со следующим кодом, но как я могу изменить, чтобы одновременно «выдвигать» первое?

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

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 04 апреля 2009

На сайте Adobe , они упоминают, что вы должны использовать и установить 'fromState' и 'toState' (вы можете использовать '*' для определения состояний). Я предполагаю, что ваши 2 простых компонента Canvas находятся в своем собственном состоянии? Если так, как только вы установите переход, он сможет воспроизвести ваш эффект. Также на связанном сайте упоминается, что эффекты можно воспроизводить последовательно или параллельно, что может потребоваться для получения желаемого эффекта.

EDIT:

Я сделал небольшой тест, и это было то, что я придумал. Кажется, это работает в моих тестах, так как оба холста были анимированы. Я предполагаю, что вы используете 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>

Дальнейшее редактирование: Это также может быть полезно. Я думаю, что вам нужно сделать, чтобы оба холста были в одном из состояний, а затем выполнить его. Возможно, вам нужно будет немного перестроить свои состояния, чтобы оба холста были в одном состоянии, и на данный момент я предполагаю, что вы держали их в отдельных состояниях.

0 голосов
/ 14 ноября 2010

публичная функция 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);

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...