공중에 돌을 던지는 남자처럼 어떤 물건을 비스듬히 발사해야합니다. 사실 나는 어떻게 코드를 시작할 수 있는지 모른다.js를 사용하여 Angry Birds와 같은 경사 발사를 재현하는 방법은 무엇입니까?
-2
A
답변
0
사용한다 "낙하"식 : Y = Y0의 + V0의 *의 t - (g에 * (t^2)) 이때/2
, V0 초기 속도이다. Supouse 10. 그리고 g는 중력 가속도 상수입니다 (현실 세계에서 = 9,8 m/s^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는 컴퓨터 과학에서 타당한 방향입니다. 나는 여백 대신에 여백을 사용했습니다. 왜냐하면 이것 때문입니다.
+1
나는 당신의 아이디어를 사용했습니다. 감사! –
0
성난 새는 물리 엔진을 사용합니다. 자유 낙하 만 시도하고 구현할 수 있습니다. 이것은 아주 기본적인 구현 일 것입니다. 그냥 속도를 가지고 상수로 밀어 넣으십시오. 그러나 위치, 속도, 가속도 벡터를 구현하는 것이 더 쉬울 수도 있습니다. 그런 다음 오일러 통합을 사용하여 모든 프레임을 새로운 속도 및 위치로 가져올 수 있습니다.
일부 물리학을 배우는 것이 좋습니다. –