我正在学习SpriteKit,看看演示应用程序,冒险,我发现SKNode墙有物理体,看起来物理体是在SKS文件中设置的,因为我搜索了所有代码而没有找到关于墙体物理设置。 所有关于代码中墙体的物理主体都在这里:
wallNode.physicsBody!.dynamic = false
wallNode.physicsBody!.categoryBitMask = ColliderType.Wall.rawValue
所以我认为设置SKNode的physicsBody的方法是在SKS文件中,但在SpriteKit编辑器中,我无法改变任何关于物理体的内容。
答案 0 :(得分:3)
是的,它位于sks文件的SpriteKit场景编辑器中。选择节点,在底部的SKNode检查器中,有一个“物理定义”下拉列表。我也很难找到它。
答案 1 :(得分:0)
你应该看看这里: https://developer.apple.com/library/mac/documentation/SpriteKit/Reference/SKPhysicsBody_Ref/
要向节点添加物理,请创建并配置SKPhysicsBody对象,然后将其分配给SKNode对象的physicsBody属性。在对其施加力或冲动之前,物理主体必须与节点对象相关联。
您应该根据自己的需要修改墙体物理。 例如:
//物理体型
bird.physicsBody = SKPhysicsBody(circleOfRadius: bird.size.height/2)
//不是动态的
bird.physicsBody.dynamic = false
//无法旋转
bird.physicsBody.allowsRotation = false
答案 2 :(得分:0)