我没有找到一种方法来使用this sort of images作为我游戏的贴图集。 有没有办法做到这一点,还是应该添加我想要的所有对象?在Spritekit中使用图像作为tileset
我尝试添加一个新的网格贴砖然后设置一个单块组,但如果我尝试在瓷砖地图节点来使用它,它会使用所有的图像纹理一个街区。
我不知道是否有可能,但如果你能帮助我,我将不胜感激。
我没有找到一种方法来使用this sort of images作为我游戏的贴图集。 有没有办法做到这一点,还是应该添加我想要的所有对象?在Spritekit中使用图像作为tileset
我尝试添加一个新的网格贴砖然后设置一个单块组,但如果我尝试在瓷砖地图节点来使用它,它会使用所有的图像纹理一个街区。
我不知道是否有可能,但如果你能帮助我,我将不胜感激。
您可以使用图片作为纹理地图,但你将无法使用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)
谢谢,请试试这个 – Marsgames
谢天谢地,你的贴图不是最优的。它甚至会因为优化纹理而变得更疯狂,因为你必须从图集中获取最小的数量,并将其余部分放在精灵上。无论如何,我不知道如何处理SKTexture的填充 – Knight0fDragon
的[瓷砖地图编辑器(http://www.mapeditor.org/)能够读取这种地形设置的。阅读更多在这[平铺地图编辑器介绍](https://gamedevelopment.tutsplus.com/tutorials/introduction-to-tiled-map-editor-a-platform-agnostic-tool-for-level-maps--gamedev -2838)文章。虽然这与SpriteKit中的“SKTilemapNode”不兼容,但您需要做额外的工作才能在SpriteKit中使用该地图。 –