【问题标题】:How do you create a hollow physicsbody?(Swift)你如何创建一个空心物理体?(Swift)
【发布时间】:2017-07-21 04:21:00
【问题描述】:

所以我正在尝试使用精灵套件创建一个足球球门,并且我希望球门的内部是空心的。我该怎么做?

【问题讨论】:

  • 我对 ios 很陌生,所以我需要一些帮助:)
  • 2d 物理体或 3d 物理体

标签: swift sprite-kit skphysicsbody


【解决方案1】:

我假设您想要一个自上而下的球门表示法,球网在两侧和后方,如下所示:

(这是俯视图,球门口朝下)

你不能用一个单一的物理体来做到这一点,(物理体完全跟随网)因为物理体不能是凹的。

相反,使用它们自己的物理实体创建 2 个侧面和背面,然后使用 init(bodies: [SKPhysicsBody]) 将它们连接在一起

例如假设您有 3 个精灵节点,分别命名为 goalRightSide、goalLeftSide 和 goalRear,每个节点都有自己的物理体。然后,要为整个目标创建一个复合物理体,请使用:

let goalPB = SKPhysicsbody(bodies: [goalRightSide.physicsBody,
                                    goalLeftSide .physicsBody,
                                    goalRear.physicsBody])

更多详情请参考类参考:https://developer.apple.com/documentation/spritekit/skphysicsbody

【讨论】:

  • 您可以使用CGPathSKPhysicsBody(polygonFrom:) 对单个物理体执行此操作。 init(bodies: [SKPhysicsBody] 实际所做的是将各种 body 路径合并为 1 个路径以形成 1 个多边形
  • 奇怪的是文件说polygonFrom:是一个凸多边形,我用它来制作凹形,
  • @Knight0fDragon 我认为虽然你可以创建凹形物体,但接触/碰撞检测都出错了。它是你的工作?
  • 我没有遇到任何问题,我将不得不对其进行测试
猜你喜欢
  • 2014-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-19
  • 1970-01-01
相关资源
最近更新 更多