Мне нужно воспроизвести наклонный запуск какого-то объекта, как человек, бросающий камень в воздух. На самом деле я понятия не имею, как начать код.Как воспроизвести наклонный запуск (например, Angry Birds) с помощью js?
ответ
Вы должны использовать "свободное падение" формула: у = у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, потому что это.
Я использовал вашу идею. благодаря! –
Angry birds использует физический движок. Вы можете попробовать и реализовать только свободное падение. Это будет довольно простая реализация. Просто имейте скорость и нажмите ее постоянной. Однако может быть проще реализовать векторы положения, скорости, ускорения. Затем вы можете использовать интеграцию эйлеров, чтобы получить новую скорость и положение каждого кадра.
Я бы посоветовал научиться изучать некоторую физику –