在Spritekit中使用image作为tileset

时间:2016-11-11 14:08:54

标签: ios sprite-kit sktilemapnode

我找不到使用this sort of images作为游戏拼贴的方法。 有没有办法,或者我应该逐个添加我想要的所有对象?

我尝试添加一个新的Grid Tile Set然后添加一个单个Tile组,但如果我尝试在Tile Map节点中使用它,它将使用所有图像作为一个块的纹理。

我不知道是否可能,但如果你能帮助我,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

不幸的是,你必须手动将图像分成更小的图像。

您想要的功能不存在。

答案 1 :(得分:1)

你可以将你的图像用作纹理图集,但是你将无法使用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)