我找不到将这种图像用作我的游戏的图块集的方法。有没有办法做到这一点,或者我应该一个一个地添加我想要的所有对象?
我尝试添加一个新的 Grid Tile Set,然后添加一个 Single Tile Group,但是如果我尝试在 Tile Map Node 中使用它,它将使用所有图像作为一个块的纹理。
我不知道这是否可能,但如果你能帮助我,我将不胜感激。
我找不到将这种图像用作我的游戏的图块集的方法。有没有办法做到这一点,或者我应该一个一个地添加我想要的所有对象?
我尝试添加一个新的 Grid Tile Set,然后添加一个 Single Tile Group,但是如果我尝试在 Tile Map Node 中使用它,它将使用所有图像作为一个块的纹理。
我不知道这是否可能,但如果你能帮助我,我将不胜感激。
不幸的是,您将不得不手动将图像分成较小的图像..
您想要的功能不存在。
您可以将您的图像用作纹理图集,但您将无法使用SKTextureAtlas
,您必须将它们分解出来。
如果您查看 SKTexture,您有一个名为init(rect: CGRect, in: SKTexture)
. 这将为您创建一个新的 SKTexture 对象,同时仍然引用原始纹理的纹理内存空间。你只需要使用类似 plist 的东西来加载所有CGRRect
信息来创建这个图集。
例子:
let textureAtlas = SKTexture(imageNamed:"CEm72.png") //I convert your jpg to png somehow
let rectDarkKnight = CGRect(x:0,y:96,width:32,height:32)
let texDarkKnight = SKTexture.init(rect: rectDarkKnight, in: textureAtlas)