gpt4 book ai didi

ios - 如何将一个 SKPhysicsBody 固定到另一个而不同时掉落

转载 作者:行者123 更新时间:2023-11-29 03:24:24 24 4
gpt4 key购买 nike

我正在尝试将两个 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];

最佳答案

您可以将静态主体的dynamic属性设置为NO,这将导致主体忽略所有力和冲量,包括重力。

关于ios - 如何将一个 SKPhysicsBody 固定到另一个而不同时掉落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com