2013-12-18 1 views
0

월드 바인딩에서 특정 벡터를 제거해야합니다 (예 : 왼쪽에만 적용).box2D로 몸체 제거하기

screenBorderShape.Set(lowerLeftCorner, lowerRightCorner); 
screenBorderBody->CreateFixture(&screenBorderShape, 0); 
screenBorderShape.Set(lowerRightCorner, upperRightCorner); 
screenBorderBody->CreateFixture(&screenBorderShape, 0); 
screenBorderShape.Set(upperRightCorner, upperLeftCorner); 
screenBorderBody->CreateFixture(&screenBorderShape, 0); 
screenBorderShape.Set(upperLeftCorner, lowerLeftCorner); 
screenBorderBody->CreateFixture(&screenBorderShape, 0); 

어떻게 왼쪽 일 만 제거 할 수 있습니다 (Box2D의 +적인 Cocos2D 아이폰)

이것은 내가 경계를 설정하는 방법입니까?

나는이 알고

screenBorderBody->DestroyFixture(b2Fixture *fixture) 

을하지만 그 이후에해야 할, 그래서 나는 그 고정 글로벌 등이 특정 하나를 저장하지 않고 (몸 포인터를 갖는)에 도달 할 수 있습니까?

감사합니다.

답변

0

screenBorderShape.Set (lowerRightCorner, upperRightCorner); screenBorderBody-> CreateFixture (& screenBorderShape, 0);

이름 왼쪽 고정 또는 왼쪽 벽 등이 고정 ....이 후

당신이 screenBorderBody-> DestroyFixture (< #의 b2Fixture * 고정 #>)

을 사용할 수 있습니다 ...

방법은입니다.

groundBox.Set (b2Vec2 (X1/PTM_RATIO, Y1/PTM_RATIO), b2Vec2 (X2/PTM_RATIO, Y1/PTM_RATIO)); bottomFixture = groundBody-> CreateFixture (& groundBoxDef);

및 caseyou 그냥 충돌 취소 할에서 다음 (귀하의 경우 왼쪽) 하단에 고정

를 제거 카테고리 또는 마스크 비트를 설정하여 그것을 그런 식으로