2011-10-07 5 views
3

저는 Box2d를 처음 사용하고 제 질문에 대한 일관된 답변을 찾을 수 없으므로 실례합니다.Box2d Kinematic 바디에 미리 정의 된 곡선 경로를 어떻게 부여합니까?

저는 아이폰 용 게임을 만들고 있습니다. 요즘은 그렇지 않습니다. 저는 Cocos2d와 Box2D를 사용하고 있습니다. 나는 게임에서 움직이는 물체를 가지고 있으며, 그들에게 더 많은 곡선의 경로를주고 싶습니다. 내 연구에서 나는 각 틱마다 선형 속도를 바꿀 수있는 b2_kinematicBody 유형의 몸체를 사용해야하며 다른 비행체와 충돌하지 않도록해야한다는 것을 알고 있습니다. 나는 나의 현재 위치 (x, y)와 스텝 (x1, y1)의 나의 다음 위치를 안다면 속도에 대한 벡터를 계산할 수 있다는 것을 이해한다. 아무도 정의 된 곡선 경로를 객체에 부여하는 좋은 방법이 있습니까? 나는 이것이 일종의 매개 변수 방정식이라고 생각하고 있습니다.

답변

2

베 지어 커브를 살펴보십시오. 커브 defenition 후에 당신은 파생을 계산할 수 있습니다 (베 지어는 쉽습니다). 그리고 당신의 몸을위한 속도로 사용하십시오.

+0

가까이에 대한 베 지어 곡선의 첫 번째 파생 좋은 일하고있다! 많은 감사합니다! – Aaron

+0

몸을 곡선 위로 움직일 때 일정한 속도를 얻으려면 오른쪽 경로를 따라 가는지 확인하기 만하면됩니다. 속도 벡터를 찾은 후에, 나는 일정한 속도를주는 normalize를하고, 커브에서 더 빨리 움직이기를 원한다면 어떤 요인에 의해 multiple을 곱합니다. 이것은 이런 종류의 시뮬레이션에 맞습니까? – Aaron

+0

@Aaron : 아니요. 나는 베지에 따라 일정한 속도로 움직이는 간단한 방법을 모른다. 프로그래밍 방식으로 커브를 선으로 분할하는 것이 좋습니다 (더 많은 선 -보다 부드러운 움직임). 라인을 이동하는 경우 속도를 제어하기 쉽습니다. – Andrew

-1

오하이오 게임은 무엇이라고 불렀습니까? 좋은 소리 같아. 어쩌면 버전 2.0에서 그 일을 보았습니까?

+0

커브 경로와 단순한 선을주고 싶습니다. 그것은 복잡성을 한단계 높일 것입니다. – Aaron

관련 문제