Программирование игр для Windows. Советы профессионала

       

Объекты


Продвинемся немного дальше и определим структуру объекта. Если мы хотим использовать линии для рисования кораблей и планет, то нам необходима структура данных для хранения атрибутов этих объектов. Для начала постараемся ее не усложнять. Пусть каждый наш объект имеет не более 16 вершин, цвет и конкретное местоположение на экране. Как вычислять позицию, мы узнаем позже, а код для описания вершин в структуре данных будет выглядеть примерно так:

Листинг 4.4. Структуры данных для задания вершин объектов.

typedef struct vertex_typ

{

float x,y;

} vertex, *vertex_ptr;

// структура

объекта

typedef struct object_typ

{

int num_vertices;     // количество вершин в объекте

int color;            // цвет объекта

float хо,уо;          // позиция объекта

float x_velocity;     // используем позже для

float y_velocity;     // перемещения объекта

float scale;          // коэффициент масштабирования

float angle;          // угол поворота

vertex vertices[16];  // массив для определения 16 вершин

} object, *object_ptr;

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



Содержание раздела