如何连接这两个精灵?但它不是一个移动的联合,而是一个牢固的联系,两者都在一起?谢谢:))
cart = [CCSprite spriteWithImageNamed:@"bottomCart.png"];
cart.position = ccp(self.contentSize.width/2, self.contentSize.height/3);
cart.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){CGPointZero, cart.contentSize} cornerRadius:0];
cart.physicsBody.collisionGroup = @"cartGroup";
cart.physicsBody.collisionType = @"cartCollision";
cart.physicsBody.type = CCPhysicsBodyTypeDynamic;
[_physicsWorld addChild:cart];
wheel1 = [CCSprite spriteWithImageNamed:@"blackball.png"];
wheel1.position = ccp(self.contentSize.width/2, self.contentSize.height/3);
wheel1.physicsBody = [CCPhysicsBody bodyWithCircleOfRadius:wheel1.contentSize.width/2.0f andCenter:wheel1.anchorPointInPoints];
wheel1.physicsBody.collisionGroup = @"cartGroup";
wheel1.physicsBody.collisionType = @"cartCollision";
wheel1.physicsBody.type = CCPhysicsBodyTypeDynamic;
[_physicsWorld addChild:wheel1];
答案 0 :(得分:1)
实际上你需要一个关节。
你必须使用一种叫做 pin joint 的东西:CCPhysicsJoint
。
使用针脚连接可以在一个点上连接两个CCPhysicsBody
个对象。
在这个用例中,除非你有一个很好的理由我根本不会使用物理学的轮子。我会将wheel
定义为cart
的孩子,并在其上应用CCActionRepeatForever
+ CCActionRotate
组合以使其旋转。
对于物理仍然用轮子来说,我会在父车上使用像SpriteBuilder
这样的可视化工具定义一个更大的多边形作为物理主体。