В настоящее время я делаю 2D-игру со структурой Libgdx
, изучая ее. Я понимаю большинство вещей, но я сталкиваюсь с проблемой при рендеринге карт. Я могу сделать tile layers
отлично, так как он полностью обрабатывается встроенными классами (OrthogonalMapRenderer
). Однако я сталкиваюсь с проблемой при попытке визуализации слоев объекта. Так как имплементация по умолчанию не существует, я должен создать свой собственный. Простейшая форма, которую я сделал, это:
@Override
public void renderObject(MapObject object){
if(object instanceof TextureMapObject){
TextureMapObject curObject = (TextureMapObject) object;
batch.draw(curObject.getTextureRegion(),curObject.getOriginX(),curObject.getOriginY());
}
}
Это рисует объект, но не в правильном масштабе. Теперь OrthogonalMapRenderer
принимает unitScale
в качестве параметра, поэтому вы можете работать с произвольными единицами. Что мне интересно, так это то, как я могу реализовать unitScale
в моем собственном методе renderObject. Я пытался просмотреть класс OrthogonalMapRenderer
, чтобы найти решение, но это очень запутанно. Буду признателен за помощь.
Заранее спасибо!