我需要重现某个物体的倾斜发射,就像一个人将石头扔向空中。实际上我不知道如何开始代码。
答案 0 :(得分:0)
你必须使用"自由落体"公式:y = y0 + v0 * t - (g *(t ^ 2))/ 2
在这种情况下,v0是初始速度。 Supouse 10.并且,g是重力加速器常数(在现实世界中〜= 9,8 m / s ^ 2)。 Supouse你使用10来使更容易。
您将调用创建新职位的Interval。你的增量应该是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)
愤怒的小鸟使用物理引擎。你可以尝试只实现自由落体。这将是一个非常基本的实现。只需要一个速度并将其向下推一个常数。然而,实现位置,速度,加速度矢量可能更容易。然后,您可以使用euler积分来获得每帧的新速度和位置。