2011-04-29 2 views
0

안녕 얘들 아 내가 회색 공을 제한 할 수 아니에요을 공을 제한하기 위해 작동하지 않습니다 여기 를 표시된 이미지의 절반 화면 영역에서 내가 특정 축에 제한 b2PrismaticJointDef 화면마우스 조인트가 화면의 절반 부분에 내가 상자 2D 프레임 작업하지만 불행히도</p> <p>를 사용 cocoas2d에서 응용 프로그램을 개발하고

주위에 공을 이동하는 동안 나는이 b2Mousejoint을 사용했다

화면의 반대 부분을 가지 않는 그 공을 원하는 하지만
화면의 특정 직사각형 영역을 제한하고 싶습니다.

+0

나는 관절보다는 터치 이벤트에서 제한 사항을 처리해야한다고 생각합니다. ccTouchmoved 이벤트에서 대상이 원하는 사각형 내에있는 경우 마우스 관절의 대상을 설정합니다. – hiepnd

답변

0

공의 전체 축을 제한하는 사용자 정의 거리 조인트를 만들 수 있습니다. 그러나 자신의 물리 엔진을 작성하지 않으면 어려울 것입니다.

2 가지 쉬운 방법으로 원하는 것을 구현할 수 있습니다.

  1. 공이 있어야하는 영역 주위에 4 개의 정적 "테두리"상자를 만듭니다. 그런 다음 볼과 상자를 하나의 충돌 그룹에 놓습니다. enter image description here

그러나, "경계"상자의 응답은 즉시되지 않습니다. 따라서 고속으로 볼을 박스에 "가라 앉히는"경우가 있습니다.

  1. 원하는 영역의 경계를 넘어 서면 코드에서 공의 속도를 수동으로 재설정 할 수 있습니다. 그러나 불안정한 물리 시뮬레이션으로 이어질 수 있습니다.