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

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

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

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
Question Поворот с торможением

Здравствуйте! Возник вопрос по-поводу поворота мувиклипа вокруг своей оси за мышью.
Я знаю, что это можно реализовать простым вычислением:
Код AS1/AS2:
mc._rotation = angle * 180/Math.PI;
Но можно ли организовать поворот мувиклипа за мышью с некоторой задержкой? Например, мышь летит уже в противоположную сторону, а мувиклип ещё поворачивается в прежнюю сторону (но потом он всё же начинает поворачиваться за мышью) и т. д...
Спасибо большое за внимание к моему вопросу! Я буду очень рада узнать ответ на этот вопрос!

Старый 13.10.2011, 09:48
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
у TweenMax есть свойство shortRotation.
Похоже как раз для этого случая.
Хотя можно и свой алгоритм придумать. Я делал свой на ас3.

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

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
А вот алгоритмы изингов разных, так сказать изнутри:

http://gizma.com/easing/
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 13.10.2011, 12:05
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
У TweenLite есть параметр задержки выполнения твина.
Например:
Код AS1/AS2:
var tw1:TweenLite = new TweenLite(mc, 0.8, { _rotation:angle * 180/Math.PI, delay:0.3 });
Здесь поворот начнется не сразу, а спустя 300 мс после его вызова, и будет происходить 800 мс, что уже само по себе дает некоторую задержку.
Поэтому можно наверное даже и без delay обойтись - поэкспериментируйте.

PS. "Поворот с торможением" - смысл в этой фразе иной, чем то, что вам нужно - "поворот с задержкой".
__________________
Идите первым!


Последний раз редактировалось mooncar; 13.10.2011 в 12:30.
Старый 13.10.2011, 13:07
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 5  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Очевидно же, что в случае поворота за курсором твин библиотеки не помогут. Если создавать при каждом onMouseMove новую анимацию - дела не выйдет.
Нужно писать свой обработчик. Что-то типа такого:
Код AS1/AS2:
var angleTo;
var rotationSpeed=0;
onMouseMove=function(){
    angleTo=Math.atan2(mc._ymouse,mc._xmouse)*180/MathPI; // вычисляем нужный угол
}
onEnterFrame=function(){
    rotationSpeed+=(angleTo-mc._rotation)/4; // увеличиваем скорость вращения
    mc._rotation+=rotationSpeed; // поворачиваем объект
    rotationSpeed*=0.9; // это влияние "трения"
}

Старый 13.10.2011, 13:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от crazyone Посмотреть сообщение
Если создавать при каждом onMouseMove новую анимацию - дела не выйдет.
Именно так и надо делать, очевидно, что не нужно писать свой обработчик. Просто вычислять нужный угол в обработчике onMouseMove и тут же запускать новый твин.
Нюанс в том, что TweenLite - это готовый мощный класс, и если не использовать параметр overwrite:false или не использовать OverwriteManager, то каждый новый экземпляр твина убивает предыдущий твин на мувике и все происходит гладко.
Постоянно использую такую схему - и при линейной анимации, и при анимации масштабирования, при кручении...
__________________
Идите первым!


Последний раз редактировалось mooncar; 13.10.2011 в 13:51.
Старый 14.10.2011, 00:20
Ylik вне форума Посмотреть профиль Отправить личное сообщение для Ylik Найти все сообщения от Ylik
  № 7  
Ответить с цитированием
Ylik
 
Аватар для Ylik

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
Спасибо большое за ответы! Попробую поэкспериментировать!

Старый 14.10.2011, 01:28
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 8  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
2mooncar:
Ну, можно похоливарить на тему забивания гвоздей пасатижами, но я не в том настроении.

Просто скажите - вы используете изинги в своей програмной анимации, которую постоянно оверрайтите?

Старый 14.10.2011, 10:50
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 9  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от crazyone Посмотреть сообщение
вы используете изинги в своей програмной анимации, которую постоянно оверрайтите?
Явно нет.
Но какой-то там всегда есть по умолчанию , даже если не прописаны.
__________________
Идите первым!


Последний раз редактировалось mooncar; 14.10.2011 в 10:52.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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