0

我正在创建一个这样的精灵:

CatSprite *aCat = [CatSprite spriteWithFile:@"Icon-Small.png"];

// add sprite to CCLayer
[self addChild:aCat];
// and then define the body and shape
cpBody *body = cpBodyNew(10.0f, cpMomentForPoly(1000.0f, num, verts, CGPointZero));

body->p = ccp(x, y);
cpSpaceAddBody(space, body);
cpShape* shape = cpPolyShapeNew(body, num, verts, CGPointZero);
shape->e = 0.5f; shape->u = 1.0f;
shape->data = aCat;
cpSpaceAddShape(space, shape);

我正在将物理和约束应用于花栗鼠空间中的身体。我想要的是禁用身体旋转的显示,换句话说,当身体旋转时,我希望精灵保持在 0 度。请问有什么想法吗?

谢谢

4

2 回答 2

0

您还可以完全禁用身体旋转,将其惯性设置为INFINITY,例如cpBodyNew(10.0f, INFINITY);

于 2013-11-07T10:21:24.713 回答
0

因此,不可避免地会在某个地方将身体的旋转复制到精灵。除非您使用的是 Cocos2D v3 的发布日期前的 alpha 预览版,否则 CCSprites 和 cpBodies 并不能真正协同工作,除非您编写代码将精灵与主体同步。只是不要复制该精灵的旋转。

于 2013-11-07T15:25:57.287 回答