我正在尝试将两个SKPhysicsBodies连接在一起,以便顶部的一个保持在原位,下面的一个在重力下落下,但附有一个关节。想象一下两个矩形,一个在顶部,一个在下面。顶部的那个“浮动”并且下面的一个用关节连接并且可以移动(可能是摆动或弹跳等)
当我尝试创建它时,即使我将affectedByGravity设置为NO,两个节点也会随着重力而下降。
self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0];
self.physicsWorld.gravity = CGVectorMake(0, -9.8);
SKLabelNode *myLabel = [SKLabelNode labelNodeWithFontNamed:@"myFont"];
myLabel.text = @"Hello, World!";
myLabel.fontSize = 30;
myLabel.position = CGPointMake(CGRectGetMidX(self.frame),
CGRectGetMidY(self.frame));
myLabel.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:myLabel.frame.size];
myLabel.physicsBody.affectedByGravity = NO;
[self addChild:myLabel];
SKLabelNode *myLabel2 = [SKLabelNode labelNodeWithFontNamed:@"myFont"];
myLabel2.text = @"Hello, World!";
myLabel2.fontSize = 30;
myLabel2.position = CGPointMake(CGRectGetMidX(self.frame),
CGRectGetMidY(self.frame));
myLabel2.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:myLabel2.frame.size];
[self addChild:myLabel2];
CGPoint anchor = CGPointMake(CGRectGetMidX(self.frame),
CGRectGetMidY(self.frame));
SKPhysicsJointFixed* fixedJoint = [SKPhysicsJointFixed jointWithBodyA:myLabel.physicsBody
bodyB:myLabel2.physicsBody
anchor:anchor];
[self.scene.physicsWorld addJoint:fixedJoint];
答案 0 :(得分:1)
您可以将静态物体的dynamic
属性设置为NO
,这将导致身体忽略所有力和冲动,包括重力。