SKPhysicsBody 未与 SKShapeNode 对齐
Posted
技术标签:
【中文标题】SKPhysicsBody 未与 SKShapeNode 对齐【英文标题】:SKPhysicsBody not lining up with SKShapeNode 【发布时间】:2015-12-03 18:26:57 【问题描述】:我有一个这样创建的圆形节点:
let path = CGPathCreateWithEllipseInRect(CGRect(x: 0, y: 150, width: playerWidth, height: playerHeight), nil)
self.path = path
fillColor = UIColor.whiteColor()
每当我添加一个physicsBody (circleOfRadius: CGFloat) 时,它都会拒绝与节点的位置匹配,并最终出现在模拟器屏幕的左下角附近。
有没有办法改变物理体的位置?如有必要,将发布更多代码。
【问题讨论】:
【参考方案1】:如果你想移动物理身体,不要设置形状的身体。创建一个附加到形状的 SKNode,然后设置 SKNode 的physicsBody。要移动身体,请调整您在形状上创建的 SKNode 的位置。
let shape = SKShapeNode(initialize here)
let bodyNode = SKNode()
shape.addChild(bodyNode)
bodyNode.physicsBody = SKPhysicsBody(initialize here)
// To move the body;
bodyNode.position = CGPoint(point you wish)
【讨论】:
以上是关于SKPhysicsBody 未与 SKShapeNode 对齐的主要内容,如果未能解决你的问题,请参考以下文章
iOS -- SpriteKit框架之SKPhysicsBody的移动和连接
SKSpriteNode 卡在 init(edgeLoopFrom:) - SKPhysicsBody