2016-10-26 8 views
-2

Мне нужно воспроизвести наклонный запуск какого-то объекта, как человек, бросающий камень в воздух. На самом деле я понятия не имею, как начать код.Как воспроизвести наклонный запуск (например, Angry Birds) с помощью js?

+2

Я бы посоветовал научиться изучать некоторую физику –

ответ

0

Вы должны использовать "свободное падение" формула: у = у0 + v0 * t - (г * (т^2))/2

В этом случае v0 является начальной скоростью. Supouse 10. И, g - постоянная гравитационного ускорителя (в реальном мире ~ = 9,8 м/с^2). Для вас проще использовать 10.

Вы будете называть Интервал, который создает новое положение. Ваш прирост должен быть t.

т.е.

function height_formula(t){ 
    var h; 
    var h0 = 0; 
    var v0 = 10; 
    var g = -10; 
    return h0+(v0*t)+(g*t*t/2); 
} 

Затем вы должны вызвать эту функцию в интервале.

t = 0; 
function apply_formula(){ 
    var obj = document.getElementById('id'); 
    obj.style.position = 'absolute'; 
    obj.style.marginBottom = height_formula(t); 
    ++t; 
} 
interval = setInterval(apply_formula,500); 

Примечание: y в физике имеет противоположное направление в информатике. Я использовал marginBottom вместо marginTop, потому что это.

+1

Я использовал вашу идею. благодаря! –

0

Angry birds использует физический движок. Вы можете попробовать и реализовать только свободное падение. Это будет довольно простая реализация. Просто имейте скорость и нажмите ее постоянной. Однако может быть проще реализовать векторы положения, скорости, ускорения. Затем вы можете использовать интеграцию эйлеров, чтобы получить новую скорость и положение каждого кадра.

 Смежные вопросы

  • Нет связанных вопросов^_^