SKLabelNode PhysicsBody 问题

SKLabelNode PhysicsBody Issue

游戏Supertype太棒了。
我正在考虑制作一个类似的应用程序。 有什么简单的方法可以将 SKLabelNode 的文本变成物理体吗?

例如,我想让字母'A'成为文字物理体
- 是否有任何简单的方法可以实现这一点而不必实际定义每个 cgPath?
- 我想我可以让 'A' 成为 SKSpriteNode,但这看起来很糟糕。

此外,
我在将 SKSpriteNodes 变成 Physics Bodies 时遇到了很多问题。我可以轻松地将单个图像变成一个物理体,但如果它是一个被不可见部分分开的图像,事情就会中断。 Swift 选择一个特定的片段成为一个 physicsBody。
• 我也很沮丧,因为你不能定义一个凹形并制作一个物理体。但是你可以让凹的连续图像很好地变成物理体。

最后一个,
如果能将一个词变成一个物理体,并用一个布尔值,将它定义为分开或粘在一起,那就太好了。有办法吗?
(我想我可以通过在初始化中聚集它们的数组来做到这一点:[SKPhysicsBody])

一个 SKLabelNode 没有物理学 body,所以你不能直接对它应用物理学。您可以做的是将它们创建为一组 SKSpriteNodes 并将每个字母的图像分配给 body 纹理。

到"turn the physics body on and off",你应该切换节点的属性 isDynamic。对于其他效果,您可以根据需要使用 affectedByGravity 属性 以及碰撞和接触位掩码。

为了让碰撞感觉更真实,您可以使用 SKPhysicsContactDelegate,这样您就可以自动 "draw" 物理 body 具有字母的精确形状。像这样:

letterNode.physicsBody = SKPhysicsBody(texture: letterTexture, alphaThreshold: 1.0, size: letterTexture.size())

要处理碰撞和接触,请不要忘记在您的场景中设置 contactDelegate,如下所示:

self.physicsWorld.contactDelegate = self