2011-03-28 2 views
2

두 가지 모양 (폴리의 정확한 것)을 만들었으므로 하나의 CCSprite/이미지에 첨부 할 수 있어야하며, 내가 만든 위치에 머물러 있어야합니다. 그것을 할 방법이 있습니까?여러 개의 cpShapes (다람쥐)

즉, 이것은 내가 달성하고자하는 것입니다.

  • 나는 타이어 (CCSprite/이미지)를하고 난 2 폴리의/cpShapes, 상단 하나와 타이어의 바닥에 대한 하나를 만들었습니다 있도록 사용자가 만 통과 할 수있는 축구를 던졌습니다 때 그것의 중심.
  • 타이어 상단에 폴리를 붙이고 바닥에는 폴리 폴리를 붙일 필요가 있습니다.
  • 타이어에 충돌을 사용할 수 있어야합니다. 예를 들어 사용자가 미식 축구를 던지고 타이어의 바닥에 닿는 경우 두 타이어가 함께 움직이면서 앞뒤로 타이어를 흔들 리게 만들 수 있어야합니다.

내 질문은 정말 어떻게 하나의 이미지/CCSprite 두 cpShapes 연결할 수 있습니까? , spaceManager 당신을 위해 뭔가를하고있는 경우를 제외하고

cpShape *UpperShape = [game.spaceManager addPolyAt:cpv(70,195) mass:STATIC_MASS rotation:0 numPoints:6 points:cpv(2,12), cpv(28,8), cpv(33,0), cpv(36,-10), cpv(-33,-10), cpv(-20,8)]; 

cpShape *LowerShape = [game.spaceManager addPolyAt:cpv(70,125) mass:STATIC_MASS rotation:0 numPoints:7 points:cpv(34,8), cpv(31,0), cpv(25,-9), cpv(7,-13), cpv(-20,-8), cpv(-30,0), cpv(-35,8)]; 

P.S 내가 spaceManager + 다람쥐

답변

0

기본적으로 단일 cpBody를 만들고 2 개의 cpShape를 연결합니다. ccPhysicsSprite를 사용하면 스프라이트를 본문에 첨부 할 수 있습니다. 결과는 얻으려는 결과입니다.

0

를 사용하고 그것은 cpShapes 및 CCSprites 첨부 방법을 결정하기 위해 당신에게 달려 있습니다 :

나는 그렇게처럼 내 모양을 만들었습니다. 내가해야 할 일은 CCSprite를 서브 클래스 화하고 override하는 것입니다. -draw 함수에서 스프라이트의 위치와 회전을 결합 된 두 도형의 중심으로 업데이트합니다.

두 개의 스프라이트를 만들고 하나의 스프라이트를 하나의 모양에 연결하는 것이 더 쉬울 것입니다.