![]() |
Создание плавной анимации посредством таймера.
Здравствуйте, товарищи)
Я, наконец-то написал НОРМАЛЬНО ЕЗДЯЩИЙ танчик!!) И теперь хочу сделать так, чтобы его ускорение было плавным) Мне в голову пришла идея (быть может она и абсурдна немного): осуществить анимацию посредством цикла for и таймера. Суть в том, что в цикле переменная i будет отвечать за скорость объекта (она постоянно увеличивается, так что будет и ускорение). А в конце цикла можно поставить таймер, например на 100 мс, чтобы ускорение было не мгновенным. Ограничение скорости будет задаваться в цикле for. Ниже представлен мой код: Код AS3:
Заранее спасибо Вам) |
Вам не в цикле for нужно ускорение считать, а в обработчике движения, т.е в handler_enterFrame.
Вообще, например, было бы удобно сделать: единичный вектор для направления движения и переменную, отвечающую за скорость. Нажатая кнопка "вперед" отвечала бы за прибавление скорости, отжатая - за снижение. А кнопками влево-вправо вы бы крутили вектор направления. Тогда движение рассчитывалось бы как: Код AS3:
|
Прибавлять к координате не постоянное число (у Вас 5), а переменную (ее обычно называют speed или step - смысл понятен). Эту переменную обнулять при отпускании клавиши (остановке танка), а вобработчике ентерФрейм, прежде чем ее прибавить к координате - увеличивать на 0.1 (подберете) и проверять, не стала ли больше номинальной "скорости"
Код AS1/AS2:
Типа так (спрайт на мувиклип поменяйте сами)) Код AS3:
|
| Часовой пояс GMT +4, время: 17:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.