无法使用SpriteKit和JstileMap看到TMX地图



我正在尝试使用SpriteKitJSTileMap可视化大图。地图的大小为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地图,但我无法使用SpriteKitJSTileMap在XODE中可视化地图。加载零件似乎是正确处理的,但我无法可视化任何内容:我有一个带有标签的黑屏:0节点/0绘制。是否有可能阻止正确地可视化我的地图的潜在客户?

问题是图像上的 @2x。这表明您的图像正在从点上工作,而不是像素并加载您的图像。TMX地图格式以像素而不是点起作用,这会抛出预期的数学。您可以通过将断点放在setSourceImage:方法中并查看_imagesize变量来验证这一点 - 使用 @2x后缀时将其切成一半。

从您的图像中删除 @2x(包括Xcode Project和TMX Map XML),您应该很好。

请注意,一旦进行了这些更改,我就必须清洁以看到它们在iPhone模拟器中反映。

相关内容

最新更新