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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.02.2008, 21:20
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 1  
Ответить с цитированием
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
По умолчанию Мысли - Класс SmoothMover

Написал интересный класс SmoothMover, который дополняет собой любой Мувиклип. Добавляет два параметра smoothX, smoothY. Как только значения в параметрах меняется, он плавно двигает Мувик к зананным координатам, по заданной формуле.

Код:
myMovie.x = 0;

SmoothMover.add ( myMovie, "Exponential", "In", 40 );

myMovie.smoothX = 100;
Класс немного похож на TransitionManager, но несколько более прост в обращении.

Меня смущает что внутри класса работает setInterval, который собственно и следит за изменившимися значениями smoothX и smootY.

Может кто-то делал проще?

Старый 12.02.2008, 21:48
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 2  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
М... а реализацию можно посмотреть? Как её можно упростить не увидев =).
setInterval что вызывает?
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 12.02.2008, 22:21
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 3  
Ответить с цитированием
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Код:
package classes.movers
{
	
	import classes.parsers.Easing;
	
	import fl.transitions.Tween;
	
	import flash.utils.*;
	
	
	public class SmoothMover
	{
	
		private var tweenX, tweenY;
		
		private var duration;
		
		private var typeMotion;
		
		private var object;
		
		
		public function SmoothMover ( object, typeMotion, duration )
		{
			
			object.smoothX = object.x;
			object.smoothY = object.y;
			
			this.object = object;
			this.typeMotion = typeMotion;
			this.duration = duration;
			
			tweenX = new Tween ( object, "x", typeMotion, object.x, object.smoothX, duration, false );
			tweenY = new Tween ( object, "y", typeMotion, object.y, object.smoothY, duration, false );
			
			setInterval ( move, 100 );
			
		}
		
		
		static public function add ( object, t:String, mot:String, duration:Number )
		{
			
			if (object.smoothMover == undefined) 
			{
				
				object.smoothMover = new SmoothMover ( object, Easing.get ( t, mot ), duration );
				
			}
			
		}

							   
		private function move ()
		{
		
			if ( tweenX.isPlaying )
			{
				
				tweenX.continueTo ( object.smoothX, duration );
				tweenY.continueTo ( object.smoothY, duration );
				
			}
			
			else
			{
				
				tweenX = new Tween ( object, "x", typeMotion, object.x, object.smoothX, duration, false );
				tweenY = new Tween ( object, "y", typeMotion, object.y, object.smoothY, duration, false );
				
			}
				
		}
					
    }
	
}

Старый 12.02.2008, 23:13
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Мда, типизировать переменные и возвраты вам явно лень…

Старый 16.02.2008, 20:09
Алан вне форума Посмотреть профиль Отправить личное сообщение для Алан Найти все сообщения от Алан
  № 5  
Ответить с цитированием
Алан

Регистрация: Apr 2007
Сообщений: 30
А чем плох Tweener или TweenLite?

Старый 18.02.2008, 21:25
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 6  
Ответить с цитированием
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Ничем не плох, мой класс легче в использовании. Можно легко задавать налету новые таргет точки. Ну вобщем Твинер тоже супер, но это я сам писал =)))

Старый 19.02.2008, 20:28
DoomerSamoiloff вне форума Посмотреть профиль Отправить личное сообщение для DoomerSamoiloff Найти все сообщения от DoomerSamoiloff
  № 7  
Ответить с цитированием
DoomerSamoiloff

Регистрация: Jan 2007
Сообщений: 8
вот тут проще и функциональнее

http://code.google.com/p/tweener/

Старый 20.02.2008, 00:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от DoomerSamoiloff
вот тут проще и функциональнее

http://code.google.com/p/tweener/
Было бы замечательно, если бы хотя бы иногда обращали внимание на посты выше.

Старый 21.02.2008, 03:21
Алан вне форума Посмотреть профиль Отправить личное сообщение для Алан Найти все сообщения от Алан
  № 9  
Ответить с цитированием
Алан

Регистрация: Apr 2007
Сообщений: 30
) Я имел ввиду что в более-менее насыщенных в плане анимаций проектах как правило приходится иметь дело с секвенциями и последовательностями, это требует централизации кода - что то вроде TweenManager, который слушает события и выполняет все необходимые анимации. Идеи которые кажутся хорошими на практике не всегда дают прирост производительности - знаю по себе )

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

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

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


 


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


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