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

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

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

Регистрация: Oct 2005
Сообщений: 46
По умолчанию Проблема плавного увеличения картинки через Tweener

Первоначально через Loader загружается большая картинка, затем я её уменьшаю с помощью scaleX и scaleY и размещаю на сцене. При наведении мышки увеличиваю до первоначального размера (100%), при MOUSE_OUT - уменьшаю. При этом я хочу, чтобы центр картинки не менялся. Делаю я это с помощью класса Tweener вот таким образом:
увеличение:
Код:
new Tween(image, "x", Regular.easeInOut, 0, - (bigImageWidth/2 - centerX), 1.500000E-001, true);
new Tween(image, "y", Regular.easeInOut, 0, - (bigImageHeight/2 - centerY), 1.500000E-001, true);
new Tween(image, "scaleX", Regular.easeInOut, imageScaleX, 1, 1.500000E-001, true);
new Tween(image, "scaleY", Regular.easeInOut, imageScaleY, 1, 1.500000E-001, true);
уменьшение
Код:
new Tween(image, "x", Regular.easeInOut, - (bigImageWidth/2 - centerX), 0, 1.500000E-001, true);
new Tween(image, "y", Regular.easeInOut, - (bigImageHeight/2 - centerY), 0, 1.500000E-001, true);
new Tween(image, "scaleX", Regular.easeOut, 1, imageScaleX, 1.500000E-001, true);
new Tween(image, "scaleY", Regular.easeOut, 1, imageScaleY, 1.500000E-001, true);
Вопрос, неужели нет никакого другого способа, чтобы не вызывать столько раз Tweener. Больше всего беспокоит проблема, для того чтобы сохранить центр обеих картинок неизменным, приходится вызывать еще 2 Tweener-а для координат "x" и "y". Может быть есть какая-то специальная easingFunction функция, которая позволяет это сделать. К тому же в вышеобозначенном варианте в самом начале уменьшения происходит какой-то баг с координатами, поэтому все выглядит не очень красиво. Да и вообще 4 работающих твинера - мне кажется, что это много и можно меньше, либо вообще одним.
Есть ли варианты решения проблемы?

Старый 09.07.2008, 14:32
__ant вне форума Посмотреть профиль Отправить личное сообщение для __ant Найти все сообщения от __ant
  № 2  
Ответить с цитированием
__ant

Регистрация: Aug 2007
Адрес: Москва
Сообщений: 56
Посмотри как раз на удобный Tweener http://code.google.com/p/tweener/

Код:
Tweener.addTween(image, { x: 100, y: 100, scaleX: 2, scaleY: 2, time: 2, transition: "easeOutSine" } )
В пример класс Tween а не Tweener.

Старый 09.07.2008, 15:30
trisstan вне форума Посмотреть профиль Отправить личное сообщение для trisstan Найти все сообщения от trisstan
  № 3  
Ответить с цитированием
trisstan

Регистрация: Oct 2005
Сообщений: 46
Спасибо, тема закрыта. Пример очень сильно помог.

Старый 09.07.2008, 15:40
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 4  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Можно поместить картинку в контейнер, там ее отцентрировать и скейлить контейнер, тогда картинка всегда будет оставаться по центру.

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

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

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


 


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


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