![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2014
Сообщений: 558
|
Доброго времени суток
Вопрос, пытаюсь кораблик двигаться по инерции. Но когда он летит по оси Y вниз, то код "инерции" не срабатывает. ещё вопрос, можно ли чего добавить, что бы получить более близкую к физике инерцию, не шибко усложняя код. Цели добиться идеала нет и по этому код самый простой ship.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey); function fl_MoveInDirectionOfKey(event: Event) { if (start) { if (ship.x > 1597) { ship.x = 3; } if (ship.x < 3) { ship.x = 1597; } if (ship.y > 897) { ship.y = 3; } if (ship.y < 3) { ship.y = 897; } if (rightPressed) { ship.rotation += 8; } if (leftPressed) { ship.rotation -= 8; } if (upPressed) { if (a <= 6) //ускорение { a += 0.2; } radians = ship.rotation * Math.PI / 180; vectorX = Math.cos(radians); vectorY = Math.sin(radians); ship.x = ship.x - speed * vectorX * a; ship.y = ship.y - speed * vectorY * a; Vx = speed * vectorX * a; Vy = speed * vectorY * a; } else { if ((Vx * s > 0.4) || (Vx * s < - 0.4)) { ship.x -= Vx * s; //s - замедление Vx = Vx * s; } if ((Vy * s > 0.4) || (Vx * s < - 0.4)) { ship.y -= Vy * s; Vy = Vy * s; } a = 0.4; } } } всё спасиб, с ошибкой разобрался, в коде переменные попутал Второй вопрос в принципе актуален Последний раз редактировалось neonoviiwolf; 09.07.2014 в 12:55. |
![]() |
Часовой пояс GMT +4, время: 18:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|