видимость с гибкой границей портится во время анимации FX - PullRequest
0 голосов
/ 12 октября 2010

работает во флекс 4

У меня есть переменная:

[Bindable]
public var visibility:Boolean = true;

эти эффекты:

<fx:Declarations>
    <mx:Fade id="fadeOut" duration="800" alphaFrom="1.0" alphaTo="0.0"/>
    <mx:Fade id="fadeIn" duration="800" alphaFrom="0.0" alphaTo="1.0"/>
</fx:Declarations>

и следующий компонент:

<s:HGroup visible="{visibility}" showEffect="fadeIn" hideEffect="fadeOut">
    ...bunch of stuff...
</s:HGroup>

У меня есть приложение, которое устанавливает visibility = true всякий раз, когда мышь движется, и устанавливает его в false каждый раз, когда мышь перестает двигаться в течение 4 секунд. все работает, как ожидалось ЗА ИСКЛЮЧЕНИЕМ , когда мышь перемещается В ТЕЧЕНИЕ анимация "fadeOut" (другими словами, я перемещаю мышь, когда альфа элемента ~ 0,5). после того, как это произойдет, мне нужно подождать еще 4 секунды, прежде чем двигать мышь, и затем видимость вернется.

я проверил, значение «видимость» возвращается в значение «истина», когда мышь движется во время анимации (и даже сразу после нее, даже если это не приводит к возвращению видимости) ... поэтому я предполагаю, есть что-то конкретное и странное в том, как Flex обновляет связанные переменные и / или состояния видимости во время анимации.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 12 октября 2010

наконец нашел что-то полезное:

эффекты имеют несколько функций, которые помогут вам справиться с подобными ситуациями.в основном

Effect.pause()
Effect.reverse()
Effect.stop()
Effect.resume()

во Flex 4 эти вещи выглядят странно.я попытался сделать fadeOut.reverse (), который на самом деле делает то, что вы ожидаете, за исключением того, что в конце анимации объекты все еще становятся невидимыми ... bleh

, вызывая fadeOut.stop (), для некоторыхпричина, делает то, что я ищу, однако правильное решение, по-видимому, заключается в использовании переходов состояний с атрибутом autoReverse, установленным на текущий исчезающий элемент.затем, когда ваше состояние переключится обратно в середину анимации, Flex выполнит это изящно.

для примера переходов состояний с автореверсом, проверьте это: http://graphics -geek.blogspot.com / 2010/01 / video-auto-reversing-transitions-in.html

...