Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.08.2008, 17:52
Andrei666 вне форума Посмотреть профиль Отправить личное сообщение для Andrei666 Найти все сообщения от Andrei666
  № 1  
Ответить с цитированием
Andrei666

Регистрация: Jul 2008
Сообщений: 23
По умолчанию Изменение Animator.target

Приветствую!
Задача такова: есть большой набор элементов, к которым поочерёдно применяются небольшое количество анимаций. Я попробовал перебросить 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();
		}
	}
}
Также вышлю пример. Красные квадраты должны не продолжать движение, а начинать его заново каждый раз.
Вложения
Тип файла: zip CS3 Test.zip (18.7 Кб, 40 просмотров)

Старый 04.08.2008, 22:27
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 2  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Тут надо, скорее всего делать двигательную хмл для каждого квадрата свою из первой хмл. Пример:
http://www.dnadillo.dn.ua/fla/button-big-small.html
в примере квадраты увеличиваются и уменьшаются, причем хмл написана одна, а уменьшительная хмл плучается изменением атрибутов.
Вам нужно изменить для хмл координату х для каждого квадрата.

Старый 05.08.2008, 16:00
Andrei666 вне форума Посмотреть профиль Отправить личное сообщение для Andrei666 Найти все сообщения от Andrei666
  № 3  
Ответить с цитированием
Andrei666

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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