使用spritekit物理关节,你如何让一个物体以固定的距离绕另一个物体运行?
物体-A不应该移动物体-B,当一个力作用在物体-A上时,应该环绕物体-A
为了实现这一点,我尝试在两个物理体之间附加一个SKPhysicsJointLimit限制,然后对Object-B施加一个力。我认为结果是奇怪的行为,但它可能不是...结果是Object-B一直在抖动,但一直在继续,而且似乎不受Object-A的约束,因为Object-A根本没有移动。
发布于 2014-03-09 03:57:09
如果你看这个question,你会发现它与你所要求的相反。
SKSpriteNode * ObjectA = [SKSpriteNode spriteNodeWithColor:[UIColor blackColor] size: CGSizeMake(5,5)];
ObjectA.position = CGPointMake(size.width/2,size.height/2);
ObjectA.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:ObjectA.size];
ObjectA.physicsBody.affectedByGravity = NO;
ObjectA.physicsBody.dynamic = NO;
SKSpriteNode * ObjectB = [SKSpriteNode spriteNodeWithColor:[UIColor blackColor] size: CGSizeMake(5,5)];
ObjectB.position = CGPointMake(size.width/2,size.height/4);
ObjectB.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:ObjectB.size];
ObjectB.physicsBody.affectedByGravity = YES;
ObjectB.physicsBody.dynamic = YES;
SKPhysicsJointPin *centerPin = [SKPhysicsJointPin jointWithBodyA: ObjectA.physicsBody bodyB: ObjectB.physicsBody anchor: ObjectA.position];
[self addChild: ObjectA];
[self addChild: ObjectB];
[self.scene.physicsWorld addJoint:centerPin];This文章对设置大小有很大帮助。
希望这能有所帮助。
https://stackoverflow.com/questions/21698566
复制相似问题