2011-10-26 2 views
0

Box2d 게임에 주인공이 b2PolygonShape 충돌이 있습니다. 플레이어가 웅크 리고 몸을 더 작게 바꾸고 있습니다 b2PolygonShape. 논리는 잘 작동하지만 충돌 크기 (높이)를 변경하면 문자가 떨어지기 시작합니다.런타임시 플레이어 콜리 전 (b2PolygonShape)을 변경하고 본문 위치 유지

오프셋 (localPosition?)을 사용하여 새 본문을 만들 수 있으므로 본문의 위치가 동일하게 유지됩니까? 이 방법으로 나는 웅크 리기 애니메이션을 재생하고 위치가 바뀌고 바 스프레이가 바나나가되도록 걱정하지 않고 충돌을 변경할 수 있습니다.

enter image description here

답변

1

은 내가 Box2D의 사용했습니다 이후 오랜 시간이,하지만 난 당신을위한 해결책을 가지고 생각합니다.

b2PolygonDef.SetAsOrientedBox (상자 중심을 설정할 수 있음)를 사용하여 다른 b2PoligonDef를 만들 수 있으며, 웅크 리고 서있는 것처럼 모양을 변경할 수 있습니다.

이전에 shapeDef.SetAsBox (1.0, 1.0)로 웅크 리기 상자의 정의를 사용했다면 shapeDef.SetAsOrientedBox (1, 1, new b2Vec2 (0, -1)).

또 다른 옵션은 독자적으로 정점을 선언하는 것입니다, 그래서 당신은 할 것 같은 뭔가 :

shapeDef.vertexCount = 4; 
shapeDef.vertices[0].Set(-0.5, 0); 
shapeDef.vertices[1].Set(0.5, 0); 
shapeDef.vertices[2].Set(0.5, 1); 
shapeDef.vertices[3].Set(-0.5, 1); 
관련 문제