Вопрос по java – Как нарисовать пользовательские фигуры, используя простую текстуру в libgdx?

6

Я хочу рисовать статичные фигуры в моей игре, как это делали злые птицы: angry birds

но проблема в том, что текстура имеет квадратную форму.

static ground

как мы можем сказать & quot; SpriteBatch & quot; рисовать фигуры с некоторыми вершинами? у кого-нибудь есть идеи?

Ваш Ответ

1   ответ
4

Согласнодокументы:

A SpriteBatch is used to draw 2D rectangles that reference a texture (region)

По сути, этот метод не позволяет вам указать любую другую геометрию, кроме прямоугольника. Тем не менее, естьметод рисования это позволяет вам указать четыре координаты прямоугольника & quot; и превратить это во что-то еще. Вы хотите разделить геометрию на более мелкие части, которые соответствуют этомуprimitives, Похоже, что этот метод не поддается изменениям геометрии.

Лучше тебесоздать сетку и просто нарисуй это. Сетка не поддерживает триангуляцию, поэтому используйтеObjLoader.loadObj * методы загрузки сетки вПсевдоним Wavefront OBJ формат. Задание геометрии не должно быть проблемой; статья ссылается на некоторые примеры файлов.

@Aliaaa Ты имеешь в виду,SpriteBatch содержит матрицу проекции и ModelView? Посмотриat the next example, вам нужно будет применить матрицы самостоятельно.
Большое спасибо за вас, моя проблема решена. ;) Aliaaa
Спасибо за ваши хорошие советы. Но есть проблема: я использую камеру, и я настроил свой spriteBatch для использования метрической области просмотра. И сетка не поддерживает матричную проекцию. поэтому, если я буду использовать mesh.render (..) для рисования, он не будет поддерживать камеру (движется вместе с камерой), а ее размер не будет метрическим. У вас есть идеи по поводу этой проблемы? Aliaaa

Похожие вопросы