【发布时间】:2015-03-11 09:36:43
【问题描述】:
我很难理解 JSTileMap 如何与 SpriteKit 和 Tiled 一起使用。
问题与像素和点有关,也与使用基于屏幕比例因子的 JSTileMap 加载适当的瓦片集有关。
项目中的文件结构
在我的项目中,有一些文件具有以下结构,这代表了我的低分辨率地图(1024x768px 和 32x32px 瓦片):
- 名为 SD 的文件夹
- level-1.tmx
- 文件夹 tmx-levels-sd.atlasc
- tmx-levels-sd.1.png
- tmx-levels-sd.plist
在这种情况下,当我在非视网膜模拟器上加载 level-1.tmx 时,一切都已正确定位。当我在视网膜模拟器上运行相同的配置时,一切都很好,但瓷砖被缩放了。因为质量受到影响。 那么,如何在需要的时候加载高分辨率的瓦片集呢?
另一种解决方案
我还尝试通过为每个级别使用两个版本的地图(低分辨率和高分辨率)来解决这个问题。这实际上是我试图避免但仍然可以接受的:
对于这种情况,我的文件结构如下(地图为 2048x1536,带有 64x64 像素的图块):
- 名为 SD 的文件夹
- level-1.tmx
- 文件夹 tmx-levels-sd.atlasc
- tmx-levels-sd.1.png
- tmx-levels-sd.plist
- 名为 HD 的文件夹
- level-1-hd.tmx
- 文件夹 tmx-levels-hd.atlasc
- tmx-levels-hd.1.png
- tmx-levels-hd.plist
我猜那张大小为 2048x1536 且瓦片大小加倍的地图适合我的高分辨率版本的地图?另外如您所见,我的项目中根本没有@2x 瓦片集(我猜我们不能在Tiled 编辑器和JSTileMap 中使用@2x 后缀?)。
这种配置的问题是一切都被改变了(位置和瓷砖尺寸加倍)。 JSTileMap 可能适用于点,平铺像素,最重要的是有一个已知的iPad simulator bug related to texture atlases,这让我很难理解是什么导致了高分辨率地图的问题。
有人可以澄清这些关于完全使用 JSTileMap、SpriteKit 和 Tiled 的事情吗?谢谢!
【问题讨论】:
标签: objective-c sprite-kit retina tiled jstilemap