Я работаю в подводной игре, где есть некоторые руины, сделанные из блоков. В настоящее время я проверяю на столкновение с полигоном субмарины и каждым блоком разрушения с функцией, которая возвращает вершины прямоугольника, который я сделал.Java libGDX - merge polygons
public static float[] rectangleToVertices(float x, float y, float width,
float height) {
float[] result = new float[8];
result[0] = x;
result[1] = y;
result[2] = x + width;
result[3] = y;
result[4] = x + width;
result[5] = y + height;
result[6] = x;
result[7] = y + height;
return result;
}
Я не думаю, что это очень эффективно, некоторые из руин получили более 10 блоков, и я не хочу, чтобы проверить 10 раз столкновения одного объекта. Есть ли способ объединить больше полигонов в один?
Эта картина может объяснить лучше:
Там красная площадь многоугольника.
Вы должны использовать массив класса Point (или собственный класс), а не массив float, где пары переменных сохраняются последовательно. http://docs.oracle.com/javase/7/docs/api/java/awt/Point.html – Ron
Где фотография? Я не вижу, что – Arash
@Arash, я могу, в любом случае - http://i.stack.imgur.com/7juGq.png –