Ios Spritekit框架长接地节点

Ios Spritekit框架长接地节点,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我想要一个始终与帧一样宽的接地节点。我目前拥有的代码是 ground.position = CGPointMake(0, 175) ground.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(self.frame.size.width, 1)) ground.physicsBody!.dynamic = false ground.physicsBody!.categoryBitMask = Phys

我想要一个始终与帧一样宽的接地节点。我目前拥有的代码是

    ground.position = CGPointMake(0, 175)
    ground.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(self.frame.size.width, 1))
    ground.physicsBody!.dynamic = false
    ground.physicsBody!.categoryBitMask = PhysicsCategory.ground
    ground.physicsBody?.contactTestBitMask = PhysicsCategory.ground
    ground.physicsBody?.collisionBitMask = PhysicsCategory.ground
    self.addChild(ground)

如何使其与帧一样宽?

试试这是如何将宽度调整到场景大小或屏幕大小

 ground.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: (scene?.size.width)!, height: ("specify your height"))

如果您使用矩形作为地面物理形状,而不是使用循环边,我建议地面矩形高于1像素。特别是对于快速移动的小物理对象,该对象有可能直接通过1像素物理对象而未被检测到

另外,既然要将physicsBody添加到精灵(地面),为什么不将地面精灵设置为所需的大小,然后将physicsBody设置为地面对象的大小

我假设您的锚点设置为0,0

ground.size = CGSize(width: self.size.width, height: 175)
ground.position = CGPointMake(0, 0)
ground.physicsBody = SKPhysicsBody(rectangleOfSize: ground.size())