Andengine: Собственный Ландшафт С Текстурой.

Люди начали писать игру для Android и наткнулись на Andengine (кто не знает, это самый популярный графический 2D-движок для Android) со следующей задачей: есть набор связанных между собой линий, которые представляют собой ландшафт (можете прочитать как его сгенерировать здесь - gameprogrammer.com/fractal.html ).

Это выглядело примерно так:

Andengine: собственный ландшафт с текстурой.
</p><p>

Но нам не нужен «мостик», нам нужна поверхность, да еще и с текстурой, в общем, чтобы она выглядела вот так…

Andengine: собственный ландшафт с текстурой.
</p><p>

Начали копаться в AndEngine, оказалось, что он умеет работать только с текстурами как со спрайтами, состоящими из двух треугольников.

Нас это никак не может устроить, поскольку мы заранее не знаем размеров ландшафта, и поэтому пропорции UV-координат 1:1 нам не подходят. И в принципе перед нами не спрайт, а поверхность, представляющая собой невыпуклый многогранник.

Поэтому нам придется писать свой велосипед, потому что.

Гугление не дало нормальных результатов по основной ветке andengine. Хорошо, что у него адекватные классовые интерфейсы и всё логично, надо только разобраться.

Нам нужен свой класс с буфером вершин для треугольников и соответствующими UV-координатами.

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

местами, а движок - это целый замысловатый лес в архитектурном плане, и я просто оставил вещи в том положении, в котором они работали, ибо перебор всего движка занял бы 10 таких статей и пол года моей жизни.

Идти… Во-первых, договоримся, что у вас уже есть список, содержащий все линии, составляющие поверхность.

Тот самый «мост», показанный на первом скриншоте.

Начинаем описывать класс, который будет представлять нашу поверхность:

   

private abstract class GroundShape extends Shape {

Для удобства создадим для каждой вершины объект, хранящий ее двумерные координаты в пространстве и UV. Теги: #Android #разработка игр #andengine #java #Разработка игр #Разработка Android
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.