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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.07.2014, 15:22
ivaniyses вне форума Посмотреть профиль Отправить личное сообщение для ivaniyses Найти все сообщения от ivaniyses
  № 1  
Ответить с цитированием
ivaniyses
[+1.4 08.02.14]
 
Аватар для ivaniyses

Регистрация: Dec 2013
Адрес: Барабинск
Сообщений: 137
Отправить сообщение для ivaniyses с помощью Skype™
По умолчанию Как изменить скорость анимации объекта?

Есть MovieClip, скорость которого нужно программно изменить.
Изначально анимация очень медленная, но в некоторых моментах её нужно будет быстро проигрывать.
Свойство frameRate пробовал
__________________
trace("Я нуб");

Старый 15.07.2014, 15:54
Ёлочка вне форума Посмотреть профиль Отправить личное сообщение для Ёлочка Найти все сообщения от Ёлочка
  № 2  
Ответить с цитированием
Ёлочка
 
Аватар для Ёлочка

Регистрация: Jun 2013
Адрес: Воронеж
Сообщений: 101
Вот так можно:
Код AS3:
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
 
var mc:MovieClip;
mc.stop();
var timer:Timer = new Timer( 1000 );
timer.addEventListener( TimerEvent.TIMER, changeFrame );
timer.start();
 
function changeFrame( e:TimerEvent ):void
{
	if ( mc.currentFrame != mc.totalFrames )
		mc.nextFrame();
	else
		mc.gotoAndStop( 1 );
}
__________________
В лесу родилась ёлочка, в лесу она росла! Зимой и летом...

Старый 15.07.2014, 17:00
ivaniyses вне форума Посмотреть профиль Отправить личное сообщение для ivaniyses Найти все сообщения от ivaniyses
  № 3  
Ответить с цитированием
ivaniyses
[+1.4 08.02.14]
 
Аватар для ivaniyses

Регистрация: Dec 2013
Адрес: Барабинск
Сообщений: 137
Отправить сообщение для ivaniyses с помощью Skype™
Цитата:
Сообщение от Ёлочка Посмотреть сообщение
Вот так можно
Я так пробовал, не получается.
Дело в том, что таким способом анимация слишком медленная.
P/s: У меня объект "колесо", каждые 100 кадров колесо поворачивается на 1/4 круга. То есть весь круг проходит за 400 кадров.
Спросите, зачем так много? - Для того, чтобы при торможении машины, или при разгоне, анимация была плавной и не дёрганой.

В принципе, я знаю как можно ещё реализовать подобную вещь, просто хочу узнать, можно ли анимацией так сделать?
__________________
trace("Я нуб");

Старый 15.07.2014, 17:05
FlasherEgor вне форума Посмотреть профиль Отправить личное сообщение для FlasherEgor Найти все сообщения от FlasherEgor
  № 4  
Ответить с цитированием
FlasherEgor

Регистрация: Nov 2013
Сообщений: 86
Можно условно разделить круг поворота на отдельные сегменты и для каждого нарисовать свой кадр.
Мы делим круг, предположим, на 360 частей (по 1 градусу на каждую, итого у нас 360 кадров, это почти 400), проверяем, на сколько градусов повернуто колесо и подставляем соответствующий кадр.
Конечно, если это настолько необходимо, что нельзя просто поворачивать через rotation.

Старый 15.07.2014, 17:14
ivaniyses вне форума Посмотреть профиль Отправить личное сообщение для ivaniyses Найти все сообщения от ivaniyses
  № 5  
Ответить с цитированием
ivaniyses
[+1.4 08.02.14]
 
Аватар для ivaniyses

Регистрация: Dec 2013
Адрес: Барабинск
Сообщений: 137
Отправить сообщение для ivaniyses с помощью Skype™
Цитата:
Сообщение от FlasherEgor Посмотреть сообщение
Можно условно разделить круг поворота на отдельные сегменты и для каждого нарисовать свой кадр.
Мы делим круг, предположим, на 360 частей (по 1 градусу на каждую, итого у нас 360 кадров, это почти 400), проверяем, на сколько градусов повернуто колесо и подставляем соответствующий кадр.
Конечно, если это настолько необходимо, что нельзя просто поворачивать через rotation.
Через rotation все работает как надо.
Просто думал, что можно анимацией сделать.

Ну ладно, иду дальше
__________________
trace("Я нуб");

Старый 15.07.2014, 17:30
ivaniyses вне форума Посмотреть профиль Отправить личное сообщение для ivaniyses Найти все сообщения от ivaniyses
  № 6  
Ответить с цитированием
ivaniyses
[+1.4 08.02.14]
 
Аватар для ivaniyses

Регистрация: Dec 2013
Адрес: Барабинск
Сообщений: 137
Отправить сообщение для ivaniyses с помощью Skype™
Цитата:
Сообщение от FlasherEgor Посмотреть сообщение
Если это настолько необходимо, что нельзя просто поворачивать через rotation.
Результат через rotation, думаю норм.
Вложения
Тип файла: swf Энерция.swf (4.5 Кб, 69 просмотров)
__________________
trace("Я нуб");

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

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

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


 


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


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