2014-10-14 4 views
0

Я сделал изометрическую карту с программой «Tiled» и загрузил ее в свой код. У меня есть два слоя плитки: 1. Фоновый слой (трава) 2. Слой объектов (холодильник в этом случае) Холодильник не отображается правильно. Как вы можете видеть здесь (слева, как это должно быть, правильно, как это атм)Slick2D - ошибка отображения изометрической карты

http://i.stack.imgur.com/UBTDf.png

firdge состоит из двух частей, верхней и нижней части, как показано здесь:

http://i.stack.imgur.com/iuS47.png

Итак, моя первая мысль заключалась в том, что я не могу отобразить плитку поверх плитки. Это объясняет, почему плитка с травой слева и справа от холодильника находится перед холодильником. Но это относится только к верхней части. Нижняя часть отображается правильно, а также «проходит» травяную плитку. Так почему это происходит?

+0

Я не знаком с libGDX, и вы сделали не сказать, как это реализовано, но из изображений кажется очевидным, что плитки визуализируются со спины (сверху) на переднюю (самую нижнюю), независимо от их «слоя», поэтому сначала рисует верхнюю часть холодильника , то левая/правая травяная плитка окрашивается поверх холодильника, а затем нижняя часть холодильника является пай nted. – Marco13

+0

Это объяснило бы ... Я сделаю некоторые исследования по этому поводу. – Pixell

ответ

0

Хорошо, я понял. Вы можете отображать слои карты на единицу.

map.render(x, y); 

Одевает весь слой сразу. Тогда что происходит, что @ Marco13 прокомментировал мой вопрос. Чтобы избежать этого, используйте вместо этого.

map.render(x, y, layer); 

И если у вас есть два слоя, как я, например, вы просто идете:

map.render(x, y, 1); 
map.render(x, y, 2); 

Тогда все выглядит просто отлично :)

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

  • Нет связанных вопросов^_^