ios - SKPhysicsBody 看起来很小

标签 ios swift sprite-kit skphysicsbody

出于某种原因,当我在这个场景中为这个 SKSpriteNodes 创建一个 SKPhysicsBody 时,物理体看起来比它们应该的小得多。例如(请忽略蓝链):

Weird Physics Body

如您所见,形状在其下方复制,但主体要高得多。此外,这似乎是一个视觉故障,因为我正在撞到靠近形状的“隐形墙”。这是我用于形状物理体的代码:

self.outline.physicsBody = SKPhysicsBody(texture: self.outline.texture, size: self.outline.size)
self.outline.physicsBody?.dynamic = false
self.outline.physicsBody?.affectedByGravity = false

如果有人能解释为什么会发生这种情况,我们将不胜感激。谢谢!

编辑:我在某处读到这可能是因为我正在更改节点的 anchor 。当我删除它时,我得到了相同的形状,只是在节点上更高。

最佳答案

我找到了适合我的东西。我改变了:

self.outline.physicsBody = SKPhysicsBody(texture: self.outline.texture, size: self.outline.size)

self.outline.physicsBody = SKPhysicsBody(texture: self.outline.texture, size: self.outline.texture!.size())

采用纹理大小而不是节点本身的大小似乎可行。希望这对某些人有所帮助!

关于ios - SKPhysicsBody 看起来很小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31703822/

相关文章:

ios - FaSTLane:使用在配置文件中设置配置文件的 GYM

ios - "Ambiguous reference to member ' init(...)"调用基类初始化器

iphone - 是否可以通过他在 ios 中的电话号码跟踪用户位置?

ios - 如何禁用 UITableViewcell iOS 中特定部分的 uitableViewCell 选择

ios - 如何让循环等待任务完成

ios - 如何在 Swift 中获取 Sprite /纹理的原始文件名?

objective-c - 如何在 Objective-C 中将变量添加到类别?

ios - 自定义委托(delegate)和数据源 NSObject 最佳实践

swift - 更改 SKSpriteNode 的颜色属性并不会更改其颜色

ios - Swift 多层次场景