我希望能够显示一个图像,该图像仅显示图像中父图像范围内的部分。如果图像延伸到其父级边界之外,则图像的这些部分将变为透明。
只是一个例子,但是说我有一个100 x 100的精灵和一个子精灵被添加到这个精灵中它是200 x 200并且是蓝色的,只有100 x 100的蓝色精灵会显示在屏幕。这是我希望尽可能做的事情。
答案 0 :(得分:1)
您可以使用SKCropNode来实现您的需求:
let nodeToMask = SKSpriteNode(color: SKColor.blueColor(), size: CGSize(width: 200, height: 200))
let mask = SKSpriteNode(color: SKColor.blackColor(), size: CGSize(width: 100, height: 100))
let cropNode = SKCropNode()
cropNode.addChild(nodeToMask)
cropNode.maskNode = mask
cropNode.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame))
addChild(cropNode)
在这里,你有: