Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Изменение Animator.target (http://www.flasher.ru/forum/showthread.php?t=114626)

Andrei666 04.08.2008 17:52

Изменение Animator.target
 
Вложений: 1
Приветствую!
Задача такова: есть большой набор элементов, к которым поочерёдно применяются небольшое количество анимаций. Я попробовал перебросить Animator.target на другой мувик. В принципе оно скорее работет чем нет, но анимация ведёт себя весьма странно, как будто продолжается, не возвращаясь на первый кадр. rewind не помогает. Вот код:
Код:

package Scripts{
        import flash.display.*;
        import flash.events.*;
        import fl.motion.*;
        import flash.text.*;

        public class Temp extends Sprite{
                private var animator:Animator;
                private var mc1:mc;
                private var mc2:mc;
               
                private var Switcher:Boolean = true;
               
                public function Temp(){
                        var motion2_xml:XML =<Motion duration="30" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
                                                        <source>
                                                                <Source frameRate="12" x="12.25" y="6.5" scaleX="1" scaleY="1" rotation="0" elementType="movie clip">
                                                                        <dimensions>
                                                                                <geom:Rectangle left="0" top="0" width="24.5" height="13"/>
                                                                        </dimensions>
                                                                        <transformationPoint>
                                                                                <geom:Point x="0.5" y="0.5"/>
                                                                        </transformationPoint>
                                                                </Source>
                                                        </source>
                                               
                                               
                                                        <Keyframe index="0">
                                                                <tweens>
                                                                        <SimpleEase ease="0"/>
                                                                </tweens>
                                                        </Keyframe>
                                               
                                                        <Keyframe index="29" x="130"/>
                                                </Motion>;
                       
                        mc1 = new mc();
                        mc2 = new mc();
                        var t1:TextField = new TextField();
                        var t2:TextField = new TextField();
                        t1.text = "1";
                        t2.text = "2";
                        mc1.addChild(t1);
                        mc2.addChild(t2);
       
                        addChild(mc1);
                        addChild(mc2);
                       
                        animator = new Animator(motion2_xml);

                        Button_mc.addEventListener(MouseEvent.CLICK, onClick);
                }
                public function onClick(e:MouseEvent):void{
                        if(Switcher) animator.target = mc1
                        else animator.target = mc2;
                       
                        Switcher = !Switcher;
                        animator.play();
                }
        }
}

Также вышлю пример. Красные квадраты должны не продолжать движение, а начинать его заново каждый раз.

Alex Lexcuk 04.08.2008 22:27

Тут надо, скорее всего делать двигательную хмл для каждого квадрата свою из первой хмл. Пример:
http://www.dnadillo.dn.ua/fla/button-big-small.html
в примере квадраты увеличиваются и уменьшаются, причем хмл написана одна, а уменьшительная хмл плучается изменением атрибутов.
Вам нужно изменить для хмл координату х для каждого квадрата.

Andrei666 05.08.2008 16:00

Тот пример не очень показателен, тк для каждого мувика создаётся свой экземпляр аниматора. Я думал не таскать такую груду с каждым квадратом (у меня их планируется много). А задействовать анимацию (которой мало, тк в основном они просто стоят) только по необходимости. Все равно спасибо! Скорее всего придётся сделать так...


Часовой пояс GMT +4, время: 01:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.