Flash Game Book (5 урок)
Реальная гравитация.
Сила гравитации - это, то что удерживает вас на поверхности земли и планеты в их движении вокруг солнца.
Сила гравитации, испытываемая двумя объектами, рассчитывается с помощью уравнения
F представляет собой силу, действующую на каждый объект
(3-й закон Ньютона - равная по величине, но противоположно направленная).
Значение G называется универсальной гравитационной направленной.
По математическим причинам, касающимся поглощения одних постоянных другими,
мы можем просто принять, что G имеет значение, равное 1.
Достаточный подход к рассмотрению гравитации.
Упрощенная формула будет столь-же функциональна для наших игровых целей, как и сложная "реальная".
Существует простой способ добавления эффекта гравитации в ваши игры:
просто придумайте значение для гравитации, скажем 2,
затем добавляйте это значение в вашу составляющую у векторной скорости в каждом кадре.
Рассмотрим на примере.
Создадим новый слой.
На слое нарисуем объект (в моем примере это мячик).
Преобразуем объект в клип (F8) с именем ball.
Выберем наш созданный слой (в моем примере это myBall).
И впишем в него (в Actions-Frame):
ymov=0;
gravity=2;
_root.onEnterFrame=function(){
ymov+=gravity;
ball._y+=ymov;
if (ball._y>300){
ball._y=300;
ymov*=-1;
}
}
В 4 строке, гравитация использована для изменения векторной скорости шара, так-же как для этого использовалось ускорение.
С 6 по 9 строку мы проверяем, не опустился ли шар ниже значения 300.
Если да, то мы устанавливаем его координату обратно в 300 и меняем направление векторной скорости по y на противоположное ymov.
В результате шар подпрыгивает на месте.