【发布时间】:2017-07-21 04:21:00
【问题描述】:
所以我正在尝试使用精灵套件创建一个足球球门,并且我希望球门的内部是空心的。我该怎么做?
【问题讨论】:
-
我对 ios 很陌生,所以我需要一些帮助:)
-
2d 物理体或 3d 物理体
标签: swift sprite-kit skphysicsbody
所以我正在尝试使用精灵套件创建一个足球球门,并且我希望球门的内部是空心的。我该怎么做?
【问题讨论】:
标签: swift sprite-kit skphysicsbody
我假设您想要一个自上而下的球门表示法,球网在两侧和后方,如下所示:
(这是俯视图,球门口朝下)
你不能用一个单一的物理体来做到这一点,(物理体完全跟随网)因为物理体不能是凹的。
相反,使用它们自己的物理实体创建 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
【讨论】:
CGPath 和SKPhysicsBody(polygonFrom:) 对单个物理体执行此操作。 init(bodies: [SKPhysicsBody] 实际所做的是将各种 body 路径合并为 1 个路径以形成 1 个多边形
polygonFrom:是一个凸多边形,我用它来制作凹形,