改变SKPhysicsBody的形状

3

除了定义SKPhysicsBody形状的主体以外,我不希望更改任何内容。如何做到这一点?

我似乎找不到可以更改它的地方。

甚至没有关于如何更改的评论。

是的,我知道这必须谨慎进行,以避免所有可能的新碰撞、重叠等。但把这些放在一边,我怎样才能改变SKPhysicsBody的主体?


你是想问如何创建特定的物理刚体吗?还是一般性地询问?不过,物理刚体可以用许多不同的方式创建。无论如何,如果你重新创建它,就会改变它的形状。 - Whirlwind
我认为目标是将PhysicsBody矩形形状更改为PhysicsBody圆形形状。 - Alessandro Ornano
1
你不能访问 path 属性。你只能创建一个新的 body 并复制旧的内容。 - Knight0fDragon
@Knight0fDragon,有没有一种简单/快速/轻便的方法来确保将上一个主体的所有属性都复制过去? - Confused
no, has to be manually done - Knight0fDragon
1个回答

1
你可以使用CGMutablePath手动创建一个物理体的自定义形状,然后将其传递给SKPhysicsBody构造函数。

例如:
let path = CGMutablePath()
path.move(to: CGPoint(.....))
path.addLine(to: CGPoint(.....))

let customPhysicsBody = SKPhysicsBody(edgeChainFrom: path)

这个能够被反复传递,从而改变形状吗?还是每一个新的形状都需要一个新的物理实体? - Confused
您可以传入相同的路径来创建任意数量的物理体。这是您想要问的吗? - claassenApps
不,我想改变一个physicsBody正在使用的主体。 - Confused
你尝试过将节点的物理体设置为nil,然后再将其设置为新实例化的物理体吗? - claassenApps

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接