Rac*_*ans 4 ios sprite-kit skphysicsbody swift
是否可以在精灵上放置物理体?我只希望精灵节点的某个部分进行碰撞检测,而不是整个图像。
这是我的物理身体
physicsBody = SKPhysicsBody(rectangleOfSize: CGSize(width: CGFloat(54.0), height: CGFloat(100.0)))
Run Code Online (Sandbox Code Playgroud)
但我想将物理体放置在节点的顶部,它通常被放置在节点的中间。
您可以尝试创建一个SKSpriteNode与 相同尺寸的较小的SKPhysicsBody,并将较大的SKSpriteNode作为孩子添加到较小的。根据需要更改较大的位置。例如
override func didMoveToView(view: SKView) {
let smallerSprite = SKSpriteNode(color: UIColor.redColor(), size: CGSizeMake(30, 30))
smallerSprite.physicsBody = SKPhysicsBody(rectangleOfSize: smallerSprite.size)
smallerSprite.position = CGPointMake(100, 400)
self.addChild(smallerSprite)
let largerSprite = SKSpriteNode(color: UIColor(white: 0.5, alpha: 0.5), size: CGSizeMake(100, 100))
largerSprite.position = CGPointMake(-10, -10)
smallerSprite.addChild(largerSprite)
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
628 次 |
| 最近记录: |