我一直在尝试使用SKCameraNode,但是找不到有关如何创建视差效果的任何信息。
假设我在上面的代码中添加一个behindNode
,并将其放置在baseNode
下方。然后我对我的相机进行动画处理。
let behindNode = SKNode()
addChild(behindNode)
let blueSquare = SKSpriteNode(color: SKColor.blueColor(), size: CGSize(width: 80, height: 80))
blueSquare.position = CGPoint(x: size.width/2+40, y: size.height/2+40)
behindNode.addChild(blueSquare)
let baseNode = SKNode()
addChild(baseNode)
let redSquare = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 80, height: 80))
redSquare.position = CGPoint(x: size.width/2, y: size.height/2)
baseNode.addChild(redSquare)
let cameraNode = SKCameraNode()
camera = cameraNode
addChild(camera!)
camera!.position = redSquare.position
cameraNode.runAction(SKAction.sequence([
SKAction.waitForDuration(1),
SKAction.moveBy(CGVector(dx: 100, dy: 100), duration: 3),
SKAction.moveBy(CGVector(dx: -100, dy: 100), duration: 1),
SKAction.moveBy(CGVector(dx: 100, dy: -100), duration: 1)
]))
当相机移动时,我希望蓝色正方形的移动速度相对于红色正方形更慢。我期望相机节点有一个相对位置字典或类似的东西,但它没有。