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

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

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

Регистрация: Jul 2007
Сообщений: 15
По умолчанию Как использовать классы Роберта Пеннера?

Вот смотрю на коды Easing Equations от Robert Penner, например
Код:
class com.robertpenner.easing.Quart {
	static function easeInOut (t:Number, b:Number, c:Number, d:Number):Number {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	}
}
И как его применять?
Как-то мое образование еще до классов, прототипов не дошло.
Как я могу с помощью этого класса передвинуть мой my_mc на 200 пикселей вправо за 10 секунд, естественно, с начальным ускорением и последующим замедлением?
Если это нетрудно, подскажите, а то что-то совсем заглох.

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

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
см. документацию к классу Tween. ссылка на эту функцию передается при создании экземпляра Tween.
__________________
4am is time to rock

Старый 27.07.2007, 01:58
Ринсвинд вне форума Посмотреть профиль Отправить личное сообщение для Ринсвинд Найти все сообщения от Ринсвинд
  № 3  
Ответить с цитированием
Ринсвинд

Регистрация: Jul 2007
Сообщений: 15
Спасибо! В общем, понял...
Код:
import mx.transitions.*;
import mx.transitions.easing.*;
new Tween(my_mc, '_x', Strong.easeInOut, 0, 200, 10, true);
Но не совсем понял все же, как к "классическим" твинам прикрутить "неклассичекий" вышеуказанный от этого Пеннера.


Последний раз редактировалось Ринсвинд; 27.07.2007 в 02:19.
Старый 27.07.2007, 02:42
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
По аналогии делается:
Код:
import mx.transitions.*;
com.robertpenner.easing.*;
new Tween(my_mc, '_x', Quart.easeInOut, 0, 200, 10, true);
__________________
4am is time to rock

Старый 27.07.2007, 17:07
Ринсвинд вне форума Посмотреть профиль Отправить личное сообщение для Ринсвинд Найти все сообщения от Ринсвинд
  № 5  
Ответить с цитированием
Ринсвинд

Регистрация: Jul 2007
Сообщений: 15
Спасибо. А со всеми этими Tween, я могу получить условие, когда данный tween отработал, т.е. my_mc доехал до конца, чтобы потом сделать remove my_mc?
Или просто следить "сверху", когда _x станет равным 200?

Старый 27.07.2007, 17:30
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 6  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
ActionScript 2.0 Components Language Reference
Tween class > Tween.onMotionStopped
Цитата:
Tween.onMotionStopped

Event handler; invoked when the tweened animation completes to the end of its animation or when the Tween.stop() method is called. Handling this event allows your code to react at the point at which the tweened animation was stopped.
__________________
4am is time to rock

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

Регистрация: Sep 2002
Сообщений: 30,787
Тогда уж onMotionFinished.

Старый 27.07.2007, 17:34
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 8  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
ну это зависит от того, нужна ли аналогичная реакция на stop()...
__________________
4am is time to rock

Старый 27.07.2007, 18:42
Ринсвинд вне форума Посмотреть профиль Отправить личное сообщение для Ринсвинд Найти все сообщения от Ринсвинд
  № 9  
Ответить с цитированием
Ринсвинд

Регистрация: Jul 2007
Сообщений: 15
"Вопросов больше не имею" - сказал Остап и тут же задал следующий вопрос...
А могу ли, создавая несколько твинов циклом, потом следить за каждым, когда он Stopped?
То есть могу ли я в
Код:
var GoTween:Tween = new Tween...
указать переменную и засунуть в цикл? То есть могу ли в объявлении указывать имя+переменная, чтобы на выходе иметь GoTween1, GoTween2 и т.д? Сколько ни пробую, все равно получаются ошибка синтаксиса...
(хотя, наверное, это надо спрашивать уже в другой теме)


Последний раз редактировалось Ринсвинд; 27.07.2007 в 20:42.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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