나는 어떤 장소에 폭탄을 넣으려고 노력하고 있으며 주위의 모든 물건이 폭발 할 때 폭탄은 얼마나 멀리 떨어져 있는지에 달려있다. 검은 새가 화난 새에서 폭발 할 때와 비슷합니다.주위의 시체를 날려 보내는 폭발을 어떻게 움직일 수 있습니까?
하나는 나에게 화가 조류와 같은 샘플 코드 또는 할 수있는 방법 (내가 Box2D의와 andengine을 사용하고 있습니다)은 실제 (틱)이 될 것입니다 경우
이
나는 어떤 장소에 폭탄을 넣으려고 노력하고 있으며 주위의 모든 물건이 폭발 할 때 폭탄은 얼마나 멀리 떨어져 있는지에 달려있다. 검은 새가 화난 새에서 폭발 할 때와 비슷합니다.주위의 시체를 날려 보내는 폭발을 어떻게 움직일 수 있습니까?
하나는 나에게 화가 조류와 같은 샘플 코드 또는 할 수있는 방법 (내가 Box2D의와 andengine을 사용하고 있습니다)은 실제 (틱)이 될 것입니다 경우
이
감사를 줄 수 폭탄에 의해 날아가는 각 물체에 대해, 그것은 2 차 경로를 따를 것이다.
나는 andengine 또는 box2d를 모른다. 하지만 게임에서 간단한 2 차원 폭발과 발사체 모델링을했습니다. 다음에서 뭔가를 가져갈 수 있기를 바랍니다.
폭탄의 물체와 (x, y)의 거리를 찾아야합니다. 이것으로부터 각도를 계산하십시오. (예를 들어 폭탄 위에있는 물체는 폭발 할 때 각도 90 또는 π/2를 갖습니다.)
각도의 죄와 코사인을 계산합니다. 힘 계수 F를 곱하면됩니다. 폭탄과 폭탄으로부터의 물체의 거리). 이것으로부터 당신은 초기 이동 벡터 {F * Math.cos (angle), F * Math.sin (angle)}를가집니다.
여기에서 그것은 단지 평면입니다 . 운동학은 개체가 공기를 통해 차 경로를 따라야 방정식 같은 것을 볼 수 있습니다.
object.setXCoord(object.getXCoord()+time_constant); //after initial explosion, no force is
//acting horizontally on object.
object.setYCoord(object.getYCoord()-some_constant*time_constant+another_constant*time_constant*time_constant);// note Y's path
//relative to time is quardatic.
당신은 아마이 어떤 종류에 따라 일부 캐스트를 추가해야합니다을 당신이 사용할 것입니다. 모든 상수는 게임에 따라 다릅니다. time_constant는 1 일 수도 있지만 1의 배수를 수행하면 폭발이 시각적으로 더 매력적이게됩니다. 즉 시간 카운터가 증가함에 따라 객체의 움직임은 time_constant 0.5를 사용할 수 있습니다. 많은 시행 착오를 거쳐 어떤 상수 값이 가장 잘 작동하는지 확인했습니다.
잠시 거기에, 나는 – snowflakekiller
당신이 더 적절하게 프로그래밍 포인트를 수정해야한다고 걱정했다 –
당신이 할 수있는 많은 방법이 있습니다. 여기에 흥미로운 토론이 있습니다 : http://box2d.org/forum/viewtopic.php?f=3&t=1688 – iforce2d