2015-11-12 7 views
0

Я учился кодировать игры в java и libgdx. Моя самая ненавистная часть любого языка, с которым я пытался, - это синтаксический анализ редактора уровня (.TMX, черепичный). Github для libgdx говорит, что для этого есть полезный класс, который я пытаюсь выполнить инструкции, но Im застрял.LibGDX импортирует файлы TMX

В принципе, если я прокомментирую следующую строку кода, приложение работает нормально, но, конечно, без каких-либо элементов уровня. Когда у меня есть эта строка в коде происходит сбой моего телефона мгновенно во время загрузки приложения:

TiledMap map 

public Level(OrthographicCamera camera) { 
    map = new TmxMapLoader().load("level1.tmx"); /// THIS LINE CRASHES IT 
} 

Я проверил файл «level1.tmx» определенно существует в папке "моих активов внутри Android папки иерархии игры.

Если вам нужен остальная часть моего кода, я рад поставить его, но есть много мусора, не связанного с проблемой. Спасибо за любую помощь

EDIT: Одна вещь, я думаю, что это может быть тип файла Im, сделанного в редакторе. (Т. Е я выбрал ZLIB сжатие) и другие варианты были XML CSV и я думаю, GZIP

  • ДРУГОГО EDIT - мне удалось просмотреть сообщение об ошибке в нижней части Android Studio говоря не удалось загрузить файл».... tiles-brown.png "- Я не знал, что мне пришлось загружать эти текстуры, все два файла png p используемых файлов также находятся в папке с ресурсами в любом случае, но он говорит, что не мог загрузить ошибки. ПОЖАЛУЙСТА, ПОМОЩЬ

ответ

0

Вам не нужно загружать текстуры самостоятельно. Загрузочный загрузчик загрузит все текстуры, на которые вы ссылаетесь, но вам придется поместить их в свою папку с данными в том же месте, которое использовалось при создании карты с помощью TilEd. Поскольку вы не сделали этого, вы получите исключение.

Хороший способ сделать это - создать папку levels и папку textures в вашем каталоге assets. Поместите ваши .tmx-файлы в levels и наборы в textures. Теперь, когда вы импортируете плиточный набор из TilEd, он будет называться ../textures/tileset.png. Чтобы убедиться, что это правильно, вы можете проверить файл .tmx. Не используйте абсолютные пути к файлу!

+0

Комбинация обоих ответов помогла мне исправить это. Я получил ответ на Noone, поскольку он был быстрее. Огромное спасибо вам Джорджу за помощь, но ясное объяснение относительно того, как ссылаться на пути к файлам и имена - причина, по которой этот ответ помог большинству – user3191767

1

Если ваша ошибка «не удалось загрузить файл» .... tiles-brown.png », затем перейдите в папку в окнах, где вы сохранили карту .tmx. Щелкните правой кнопкой мыши и откройте в блокноте. будет видеть ссылочный путь для каждого актива, используемого поверх файла. Убедитесь, что актив существует по указанному пути в вашем проекте. Если он не изменит или изменит его на то, где вы храните активы для этой карты. и обновите проект андроида. Это должно решить проблему.

+0

Привет, спасибо за этот ответ. ed me разрешить его (в сочетании с комментариями ниже). В основном, я сделал несколько файлов tmx с активами непосредственно из папки моих ресурсов, однако внутренняя часть указанных tmx изображений была; «.../Пользователи/Myname/Documents/Etc/ETc/Etc/Gamename/Assets и т. Д. При использовании условных обозначений Noones и создании нового TMX он просто говорит« ../textures/tiles-green.png », который находится внутри папке «Активы». Просто подумал, что я наберу это, чтобы помочь на всякий случай, если у кого-то возникнет такая же проблема, что и я. – user3191767

Смежные вопросы