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

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

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
По умолчанию Реалистичная анимация кручения объектов вид сбоку

Всемпривет!
Занимаюсь сейчас схемкой одного механизма. Создал такую вот анимацю (приложил к сообщению). Все программное, так как количество поршней можно менять, угол главного барабана тоже (стрелочками лево-право).

gidroPump1.swf   (10.7 Кб)


В данной анимации есть недостаток - поршни крутятся с одинаковой скоростью, "ударяяськ" о границы, меняют направление на противоположное. У меня это реализовано пока что очень просто:

Код AS3:
_forsers[i].y += _model.speed*_forsers[i].direction;
то есть сначала я создаю и выставляю на сцену заданное количество поршней (_forsers).
Далее, анимация работает так, что каждый кадр прибавляем к игрику каждого поршня скорость, умноженную на направление поршня (1 либо -1). Когда поршень подходит в endPoint либо startPoint, его direction меняется на противоположный.

Сейчас хочу сделать так, чтобы скорость поршня замедлялась по мере приближения и убыстрялась по мере отдаления от крайних точек. Тогда это будет выглядеть гораздо более реалистично. Но не могу понять, как это лучше сделать.. Можно, конечно, нагромождением ifов, но хочется как-то более красиво. Может быть, у кого-то есть такие варианты?
Вложения
Тип файла: swf gidroPump1.swf (10.7 Кб, 123 просмотров)
__________________
while(live()) { hope(); }


Последний раз редактировалось Zebestov; 18.12.2017 в 14:12.
Создать новую тему   Часовой пояс GMT +4, время: 03:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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