[英]Swift SKView textureFromNode goes wrong
我通过玩游戏开始学习敏捷,并遇到了一些问题。
我正在做一个瓷砖游戏。 我创建了一个带有一些孔的白色瓷砖6x6板,在它们上面我创建了将颜色移动的瓷砖。
然后我想,为什么不将背景图块制作成整个精灵,然后我去尝试,但是遇到了问题。
如您在第二张图片中看到的,白色图块和彩色图块不匹配其位置。 他们之间有一点差距。 我有一系列的位置,并且图块放置在相同的位置,但是当我创建精灵时,它们移动了一点。
let boardTexture = self.view?.texture(from: backgroundNodes)
boardBackground = SKSpriteNode(texture: boardTexture)
搜索和阅读后,我尝试了所有这些操作,但没有帮助:
你应该经常使用
SKView().texture(from: SKNode, crop: CGRect)
否则,您很容易出现工件。 作物通常应为
CGRect(x:-size.width/2, y:-size.height/2, width:size.width, height:size.height)
如果您的节点的默认锚点为0.5 0.5(即中心)。 使用该尺寸将为您提供所需的尺寸。 你也不需要这个
self.view?.texture(from:backgroundNodes)
而是说
SKView().texture(from:backgroundNodes)
而且您可以避免在某处保留参考。 同样,如果您在sknode子类的init函数中执行某项操作,则将没有成员“视图”,因为尚未将其添加到树中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.