我正在使用Swift在iOS上制作SpriteKit游戏(尽管Objective-C答案仍然有用),我有一个SKSpriteNode,其父级是另一个SKSpriteNode。但是,我只想在子节点位于父节点的帧内时绘制子节点。例如,我有:
let scene = GameScene(size: CGSize(width: 10, height: 10))
scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)
let skView = self.view as! SKView
skView.presentScene(scene)
let superNode = SKSpriteNode(color: UIColor.blueColor(), size: CGSize(width: 1, height: 1))
scene.addChild(superNode)
let subNode = SKSpriteNode(color: UIColor.redColor(), size: CGSize(width: 0.5, height: 0.5))
superNode.addChild(subNode)
如下所示:
但是,如果我将subNode
移至(1.5,1.5):
subNode.position = CGPoint(1.5, 1.5)
然后subNode
在视觉上位于superNode
之外,但它仍然是:
作为另一个例子,如果我将subNode
的位置设置为(1.0,1.0),它看起来如下:
如何在superNode
范围内绘制时才能将其绘制?任何帮助将非常感激。感谢:)