我正在尝试使用SpriteKit
和JSTileMap
可视化大图。地图的大小为3398 x 4842
。
我已经通过一层使用4个尺寸1699 x 2421的瓷砖定义了TMX地图,每个瓷砖都匹配一个瓷砖。
这是TMX:
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" width="2" height="2" tilewidth="1699" tileheight="2421">
<tileset firstgid="1" name="BL" tilewidth="1699" tileheight="2421">
<image source="new_york_map_bl@2x.jpg" width="1699" height="2421"/>
</tileset>
<tileset firstgid="2" name="BR" tilewidth="1699" tileheight="2421">
<image source="new_york_map_br@2x.jpg" width="1699" height="2421"/>
</tileset>
<tileset firstgid="3" name="TL" tilewidth="1699" tileheight="2421">
<image source="new_york_map_tl@2x.jpg" width="1699" height="2421"/>
</tileset>
<tileset firstgid="4" name="TR" tilewidth="1699" tileheight="2421">
<image source="new_york_map_tr@2x.jpg" width="1699" height="2421"/>
</tileset>
<layer name="Main Layer" width="2" height="2">
<data encoding="base64" compression="zlib">
eJxjZmBgYAFiRiBmAmIAAIAACw==
</data>
</layer>
</map>
虽然我能够使用Tiled
软件看到TMX地图,但我无法使用SpriteKit
和JSTileMap
在XODE中可视化地图。加载零件似乎是正确处理的,但我无法可视化任何内容:我有一个带有标签的黑屏:0节点/0绘制。是否有可能阻止正确地可视化我的地图的潜在客户?
问题是图像上的 @2x。这表明您的图像正在从点上工作,而不是像素并加载您的图像。TMX地图格式以像素而不是点起作用,这会抛出预期的数学。您可以通过将断点放在setSourceImage:
方法中并查看_imagesize变量来验证这一点 - 使用 @2x后缀时将其切成一半。
从您的图像中删除 @2x(包括Xcode Project和TMX Map XML),您应该很好。
请注意,一旦进行了这些更改,我就必须清洁以看到它们在iPhone模拟器中反映。