当 Parent 和 Child 节点各自具有 SKPhysicsBody 时出现问题
Having problems with a Parent and Child nodes when they each have an SKPhysicsBody
我在屏幕上方设置了一个 SKSpriteNode,因此它会从上方掉落。所以它确实有一个受重力影响的 SKPhysicsBody。但这只是它从上面掉下来的,不会有碰撞检测。节点本身有6 children 均匀分布。
但是我需要每个 children 都能够检测到碰撞。所以我给他们一个 SKPhysicsBody。当我这样做时,它们似乎与 parent 节点分离并造成混乱。将 affectedByGravity 设置为 false 不会执行任何操作。有没有我遗漏的步骤,可以将他们固定到位 parent?
parent个SKNode的原因是因为会有多个,并且更容易移动每个SKNode的所有children,以及一次摧毁它们。
左边是我想要的,右边是当我给每个 child 自己的 SKPhysicsBody 时发生的混乱。
我应该补充一点,如果我将 children 的 isDynamic 设置为 false,那么他们会将 parent 保持在屏幕上方,这样它就不会掉落。
我的第一个问题是类别掩码设置不正确。
我确保 parent 和 children 都属于同一 类别,
然后我使用 SKContraint 基本上将每个 child 钉在 parent 中的位置。目前它似乎可以正常工作。
下面的代码是每个 child 创建时的 运行。
let rangeX = SKRange(lowerLimit: indexSpacing, upperLimit: indexSpacing)
let contraintX = SKConstraint.positionX(rangeX)
let rangeY = SKRange(lowerLimit: (self.size.height/2), upperLimit (self.size.height/2))
let contraintY = SKConstraint.positionY(rangeY)
self.constraints = [contraintX, contraintY]
我在屏幕上方设置了一个 SKSpriteNode,因此它会从上方掉落。所以它确实有一个受重力影响的 SKPhysicsBody。但这只是它从上面掉下来的,不会有碰撞检测。节点本身有6 children 均匀分布。
但是我需要每个 children 都能够检测到碰撞。所以我给他们一个 SKPhysicsBody。当我这样做时,它们似乎与 parent 节点分离并造成混乱。将 affectedByGravity 设置为 false 不会执行任何操作。有没有我遗漏的步骤,可以将他们固定到位 parent?
parent个SKNode的原因是因为会有多个,并且更容易移动每个SKNode的所有children,以及一次摧毁它们。
左边是我想要的,右边是当我给每个 child 自己的 SKPhysicsBody 时发生的混乱。
我应该补充一点,如果我将 children 的 isDynamic 设置为 false,那么他们会将 parent 保持在屏幕上方,这样它就不会掉落。
我的第一个问题是类别掩码设置不正确。
我确保 parent 和 children 都属于同一 类别,
然后我使用 SKContraint 基本上将每个 child 钉在 parent 中的位置。目前它似乎可以正常工作。
下面的代码是每个 child 创建时的 运行。
let rangeX = SKRange(lowerLimit: indexSpacing, upperLimit: indexSpacing)
let contraintX = SKConstraint.positionX(rangeX)
let rangeY = SKRange(lowerLimit: (self.size.height/2), upperLimit (self.size.height/2))
let contraintY = SKConstraint.positionY(rangeY)
self.constraints = [contraintX, contraintY]