Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Разгон и замедление машины. (http://www.flasher.ru/forum/showthread.php?t=206719)

ivaniyses 24.02.2014 18:43

Разгон и замедление машины.
 
Вот встала задача сделать управление машиной. (Вид сбоку)
Управление сделал, но нужно сделать его реалистичным...
Возьмём за обозначение объекта управляемого нами машину, которую назовём avto_game_1
Задача сделать плавный разгон и плавное торможение.
Сценарий примерно такой:
- Человек, играющий в приложение на старте нажимает на кнопку пробел.
- avto_game_1 начинает постепенно разгонятся.
- avto_game_1 доходит до максимальной скорости, и движется с постоянной.
- Если человек отпускает пробел, avto_game_1 сбрасывает скорость.
- Нажимая пробел повторно avto_game_1 начинает набирать скорость.

Думаю вы поняли мою задачу :)

Я понимаю, что это займёт много расчётов и т.д, но может кто поможет и подтолкнёт в правильном направлении, ну или может есть люди, которые полностью смогут с кодом помочь.
Возможно у кого-то была подобная задача.

Digital 24.02.2014 18:58

По энтерфрейму
Код AS3:

xspeed += a

По нажатию пробела
Код AS3:

if(xspeed<xmax){
a = 0.1
}
else if(xspeed > 0){
a=-0.1
}
if(xspeed = 0){
a=0
}

Это что-то вроде "идеи"
И не ждите готового решения, тут его просто так не дают. Пробуйте и скидывайте сюда, с таким помогут с удовольствием

ivaniyses 24.02.2014 21:00

Всё, примерно понял как делать)
Суть в том, что если клавиша нажата, то постепенно к переменной speed прибавлялось число.
А если клавиша не нажата, то speed постепенно уменьшалась.
Код AS3:

if(speed <= 25){
                        speed += 0.2;
                        avto_game_1.x -= speed;
                }else{
                        avto_game_1.x -= speed;
                }

Код AS3:

if(speed >= 0){
                    speed --;
                        avto_game_1.x -= speed;
                }


caseyryan 24.02.2014 22:12

Цитата:

Сообщение от ivaniyses (Сообщение 1160594)
Всё, примерно понял как делать)
Суть в том, что если клавиша нажата, то постепенно к переменной speed прибавлялось число.
А если клавиша не нажата, то speed постепенно уменьшалась.

При нажатии клавиши меняй флаг, например downPressed = true;
А по энтер фрейму проверяй
Код AS3:

if (downPressed) trace("можно отнимать скорость и тормозить машину");


ZackMercury 26.02.2014 01:44

Посоветовал бы физические движки)

Hauts 26.02.2014 07:08

Для простого варианта можно использовать твинер. И отрегулировать динамику ускорения и время разгона.


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

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