0

我已经为我的 spritekit 游戏桥接了 JS TileMap。我在我的项目中放了一个 tmx 文件,我正在尝试初始化一个 JSTileMap 对象

let map = JSTileMap(fileNamed: "level 1-1.tmx")

我得到这个错误

2014-11-15 17:43:03.428 MyGame[5726:1901295] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'* -[NSKeyedUnarchiver initForReadingWithData:]:无法理解的存档(0x3c、0x3f、0x78、0x6d、0x6c , 0x20, 0x76, 0x65)' *** 第一次抛出调用堆栈:(

会不会是找不到文件?我注意到如果我将文件名更改为不存在的东西,我会得到同样的错误..

这是我的 tmx 文件的内容

<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" width="1000" height="800" tilewidth="1" tileheight="1">
 <tileset firstgid="1" name="enemies" tilewidth="80" tileheight="75">
  <tile id="0">
   <properties>
    <property name="name" value="EnemyA"/>
   </properties>
   <image width="66" height="75" source="../Atlases/iPhone/enemyA.atlas/enemy@2x.png"/>
  </tile>
  <tile id="1">
   <image width="65" height="67" source="../Atlases/iPhone/enemyB.atlas/enemy@2x.png"/>
  </tile>
  <tile id="2">
   <properties>
    <property name="name" value="EnemyC"/>
   </properties>
   <image width="60" height="60" source="../Atlases/iPhone/enemyC.atlas/enemy@2x.png"/>
  </tile>
  <tile id="3">
   <image width="61" height="65" source="../Atlases/iPhone/enemyD.atlas/enemy@2x.png"/>
  </tile>
  <tile id="4">
   <image width="74" height="58" source="../Atlases/iPhone/enemyE.atlas/enemy@2x.png"/>
  </tile>
  <tile id="5">
   <properties>
    <property name="name" value="EnemyF"/>
   </properties>
   <image width="80" height="73" source="../Atlases/iPhone/enemyF.atlas/enemy@2x.png"/>
  </tile>
 </tileset>
 <objectgroup color="#000000" name="Object Layer 1">
  <object name="EnemyA" type="enemy" gid="1" x="137" y="489"/>
  <object name="EnemyC" type="enemy" gid="6" x="468" y="454"/>
  <object name="EnemyB" type="enemy" gid="3" x="310" y="321"/>
 </objectgroup>
</map>

我已经尝试将其编辑为just,但它仍然会引发该错误。我确保包含 libz.dylib

我究竟做错了什么?

4

2 回答 2

1

我使用了错误的初始化方法

它应该是

let map = JSTileMap(named: "level 1-1.tmx")
于 2014-11-16T02:28:39.057 回答
0

尝试从您的图像文件源中删除@2。然后再次运行它。我认为您不能在平铺中使用@2。还要从您的 tmx 名称中删除空格。

于 2014-11-27T19:58:31.827 回答