我已经开始使用 SKCropNode 进行编程。我的目的是将给定的图像分割成更小的块(它们以后可能不是矩形)用于游戏(用户必须将这些块移动到正确的位置)。
学习代码很简单,如下:
let center = CGPoint(x: self.frame.width * 0.5, y: self.frame.height * 0.5)
let imageNamed = "image1.jpg"
let sprite1 = SKSpriteNode(imageNamed: imageNamed)
sprite1.position = center
let mask1 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 400, height: 400))
mask1.position = center
let crop1 = SKCropNode()
crop1.maskNode = mask1
crop1.addChild(sprite1)
crop1.position = CGPointZero
self.addChild(crop1)
代码运行良好并显示裁剪的图像,我可以理解当改变一些东西(如大小或位置)时,比如 sprite1。
但是,在更改 sprite1、mask1 和crop1 的几个位置时,我完全迷失了方向,特别是在为 sprite1 或crop1 添加比例时。例如,如果将给定图像缩小为 0.35,然后分成 5 x 5 块,我不知道如何获取/显示块 {0, 0} 或 {4, 3} 然后将它们显示在原始位置。换句话说,我无法控制裁剪的内容和位置。
有人可以给我一个关于这些位置(sprite1,mask1和crop1)之间关系的提示或简短的导师,包括它们的比例,关于游戏的目的(例如,我不需要缩放所有东西,只需要缩放和位置需要什么)?或者还有其他更简单的实现方式吗?