Как воспроизвести эффект в обратном порядке - PullRequest
0 голосов
/ 27 июля 2011

В одной функции я вызываю метод воспроизведения эффекта, а в другой - обратный метод.Метод воспроизведения работает, а обратный - нет.Похоже, что propertyChangesArray используется для хранения предыдущих начальных значений эффекта, но это свойство является нулевым при вызове reverse.Как мне это сделать?

Код:

        private var targetEffect:SetAction = new SetAction();
        public var sequence:Sequence = new Sequence();

        protected function play_clickHandler(event:MouseEvent):void {
            targetEffect.target = sparkImage;
            targetEffect.property = "width";
            targetEffect.captureStartValues();
            targetEffect.value = 300;
            trace("properties change array " + targetEffect.mx_internal::propertyChangesArray); // [Object]

            if (sequence.children.length==0) {
                sequence.addChild(targetEffect);
            }


            sequence.captureStartValues();
            trace("properties change array " + sequence.mx_internal::propertyChangesArray); // [Object]
            sequence.play();
        }


        protected function reverse_clickHandler(event:MouseEvent):void {
            var o:Object = targetEffect.mx_internal::propertyChangesArray;
            trace("reverse properties change array " + o); // null
            o = sequence.mx_internal::propertyChangesArray;
            trace("reverse  " + o); // null
            targetEffect.reverse();
            sequence.reverse();
        }

1 Ответ

1 голос
/ 27 июля 2011

После вызова reverse () вам нужно вызвать play ():

targetEffect.reverse(  );
targetEffect.play(  );
...