В настоящее время нам предлагается нарисовать куб, используя следующую грубую структуру для хранения вершин:
VertexPositionTexture[] vert;
vert = new VertexPositionTexture[24];
Однако я подумал, что было бы лучше организовать и облегчить манипуляции, если бы я разбил вершины на двумерный массив следующим образом:
public class Square
{
public VertexPositionTexture[] vert
}
Square[] cubeSide;
cubeSide = new Square[6];
однако я могу создать экземпляр cubeSide, но не вершин внутри каждого квадрата.
Я попытался создать конструктор внутри класса Square, но понял, что у меня есть вариант new Square[]
или new Square()
, но не оба. У меня может быть один квадрат с четырьмя вершинами или квадраты размера с одной вершиной.
Я пробовал VertextPositionTexture[] vert = new VertexPositionTexture[4]
в классе Square, но это тоже не работает.
Чтобы добавить к моему замешательству, в прошлый раз, когда нас учили XNA, учителя вдолбили нам, что массивы должны быть объявлены в начале с точным количеством элементов, которые мы хотели. То есть у вас не может быть VertextPositionTexture[] vert
, а должно быть VertextPositionTexture[4] vert
. Они также были совершенно непреклонны в том, что однажды установленный массив никогда не сможет изменить свою емкость.
Как мне использовать двухмерный массив вершин, в котором я собираю 24 вершины в группы по 4, чтобы представлять грани в кубе?
Нас просят хранить каждую грань отдельно, т.е. наличие 24 вершин является установленным требованием.