0
나는 CCSprite를 가지고 있는데 (b2body가 있음); 범위는 본문과 함께 위치와 뒤로 이동하는 스프라이트를 만드는 것입니다.다른 위치에서 그려지는 몸
제가 이와 같이 b2body 만들기 :
if (_body)
{
_world->DestroyBody(_body);
}
b2BodyDef bd;
bd.type = b2_kinematicBody;
_body = _world->CreateBody(&bd);
b2PolygonShape shape;
b2Vec2 _p1, _p2 , _p1sub,_p2sub;
_p1 = b2Vec2(point1.x/PTM_RATIO,point1.y/PTM_RATIO);
_p2 = b2Vec2(point2.x/PTM_RATIO,point2.y/PTM_RATIO);
shape.SetAsEdge(_p1, _p2);
_body->CreateFixture(&shape, 0);
제가 몸을 만든 후,이 작업 초기화 :
id a1 = [CCMoveBy actionWithDuration:1 position:ccp(0,-self.position.y+destinationPoint.y)];
id action2 = [CCRepeatForever actionWithAction:
[CCSequence actions: [[a1 copy] autorelease], [a1 reverse], nil]
];
[self runAction:action2];
각 프레임을, 나 신체 위치를 업데이트
_body->SetTransform(b2Vec2(self.position.x/PTM_RATIO,self.position.y/PTM_RATIO), 0);
두 가지 모두 그려져 있지만 몸체가 올바르지 않은 동안 스프라이트가 올바른 위치에 있습니다. 움직임은 그래서 이것은 스프라이트의 위치가 부모의 위치로 상쇄 될 것이라는 점을 명심 확실히 문제