JS TileMap iOS 8 и стремительный непонятный архив?

Я подключил JS TileMap для своей игры с spritekit. Я поместил файл 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/[email protected]"/>
  </tile>
  <tile id="1">
   <image width="65" height="67" source="../Atlases/iPhone/enemyB.atlas/[email protected]"/>
  </tile>
  <tile id="2">
   <properties>
    <property name="name" value="EnemyC"/>
   </properties>
   <image width="60" height="60" source="../Atlases/iPhone/enemyC.atlas/[email protected]"/>
  </tile>
  <tile id="3">
   <image width="61" height="65" source="../Atlases/iPhone/enemyD.atlas/[email protected]"/>
  </tile>
  <tile id="4">
   <image width="74" height="58" source="../Atlases/iPhone/enemyE.atlas/[email protected]"/>
  </tile>
  <tile id="5">
   <properties>
    <property name="name" value="EnemyF"/>
   </properties>
   <image width="80" height="73" source="../Atlases/iPhone/enemyF.atlas/[email protected]"/>
  </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>

Я попытался отредактировать его до просто, и он все еще выдает эту ошибку. Я обязательно включу libz.dylib

Что я делаю неправильно?


person hamobi    schedule 16.11.2014    source источник


Ответы (2)


Я использовал неправильный метод инициализации

должен быть

let map = JSTileMap(named: "level 1-1.tmx")
person hamobi    schedule 16.11.2014

Попробуйте удалить @2 из источника файлов изображений. Затем запустите его снова. Я думаю, что вы не можете использовать @2 в тайле. Также удалите пробелы из имени tmx.

person Fael    schedule 27.11.2014