Ios7 精灵套件-向一个节点添加两个物理实体
是否可以将两个(或更多)SKPhysicsBody添加到一个SKNode?类似于此: 因为角色的头部应该与球碰撞,所以顶部应该是圆形的。此外,球不能穿过球员。你知道如何做到这一点吗?正如图中所示,节点和物理体之间存在一对一的关系 然而,这并不意味着每个可见精灵都必须有一个基本形状。您可以采取以下几种方法来实现您的目标:Ios7 精灵套件-向一个节点添加两个物理实体,ios7,physics,sprite-kit,Ios7,Physics,Sprite Kit,是否可以将两个(或更多)SKPhysicsBody添加到一个SKNode?类似于此: 因为角色的头部应该与球碰撞,所以顶部应该是圆形的。此外,球不能穿过球员。你知道如何做到这一点吗?正如图中所示,节点和物理体之间存在一对一的关系 然而,这并不意味着每个可见精灵都必须有一个基本形状。您可以采取以下几种方法来实现您的目标: 顶部真的需要倒圆吗?你可以用一个长方形覆盖大部分的猴子艺术。(我想你想要一个圆形的顶部,这样碰撞会向不同的方向反弹。) 使用多边形后,创建“圆端矩形”形状。你必须选择一些边来近
- 顶部真的需要倒圆吗?你可以用一个长方形覆盖大部分的猴子艺术。(我想你想要一个圆形的顶部,这样碰撞会向不同的方向反弹。)
- 使用多边形后,创建“圆端矩形”形状。你必须选择一些边来近似适合你的应用程序的曲线:太多的边会减慢物理模拟,太少的边不会在其他物体反弹时表现得像一个圆
- 每个身体都需要一个节点,但不是每个节点都需要一个可见的精灵。你可以用两个节点制作你的猴子:一个节点持有艺术并连接方形或圆形物理体,另一个节点通过固定关节连接另一个物理体, 但是没有艺术
否,每个
SKNode
只能有一个SKPhysicsBody
,因为physicsBody
是SKNode
的单个属性。如前所述,您的第一个选择是使用SKPhysicsBody
的bodyWithEdgeLoopFromRect:
类方法将猴子制作成一个筒仓形物理体
您的另一个选项是创建两个单独的
SKNodes
,并使用skphysicjointfixed
将它们连接起来s的答案很好,但我只是想给出类名,以防你想在谷歌上搜索一下。这是这个问题在谷歌上最热门的答案,所以我想我应该更新答案。这是可能的(尽管在2013年可能没有),根据Mike S在年的回答
你需要使用
// Swift
SKPhysicsBody(bodies: <#[AnyObject]#>)
// Obj-c
[SKPhysicsBody bodyWithBodies:(NSArray *)bodies]
//Swift
SKPhysicsBody(Body:)
//Obj-c
[SKPhysicsBodywithBodys:(NSArray*)Bodys]
因此,您可以使用其他实体创建一个实体,并将一个实体添加到您的
SKnode
只需注意,iOS 8现在允许您使用BodyWithBody:,将两个物理实体添加到一个SKnode,如SKPhysicsBody.BodyWithBody(实体:AnyObject[])。请注意,子实体上的特性(例如质量或摩擦力)将被忽略。仅使用子实体的形状。如果您需要一个具有多个命中目标(例如身体与头部)的节点,那么您需要按照Ricker在要点3中的建议进行操作。事实并非如此,您可以使用+(SKPhysicsBody*)BodyWithBodys:methodUse+(SKPhysicsBody*)BodyWithBodys:method设置多个Bodys