Секреты программирования игр


«Animotion» - часть 3


void Timer (int clicks)

{

// эта функция использует внутренний таймер с частотой 18.2 "тик"/с

// 32-битовое значение этого таймера находится по адресу 0000:046Сh

unsigned int now;

// получаем текущее время

now = *clock;

//Ожидаем до истечения указанного периода времени.

// Заметьте, что каждый "тик"' имеет длительность примерно в 55 мс

while(abs(*clock - now) < clicks)()

}

// конец Timer

// ОСНОВНАЯ ПРОГРАММА //////////////////////////////////////

void main(void) {

int index, done=0,

vel_state=VEL_CONST;

// установка видеорежима 320х200х256

Set_Mode(VGA256);

// установка размера для системы отображения спрайта

sprite_width = 32;

sprite_height =64;

// инициализация файла PCX, который содержит изображение улицы

PCX_Init((pcx_picture_ptr)&street_cells) ;

// загрузка файла PCX, который содержит изображение улицы

PCX__Load("street.pcx", (pcx_picture_ptr)&street_cells,1} ;

PCX_Show_Buffer((pcx_picture_ptr)&street_cells) ;

// используем буфер PCX как дублирующий

double_buffer = street_cells.buffer;

Sprite_Init((sprite_ptr)&object,0,0,0,0, 0,0);

// инициализация файла PCX, который содержит кадры спрайта

PCX_Init((pcx_picture_ptr)&stick_cells);

// загрузка файла PCX, который содержит кадры спрайта

PCX_Load("stickman.pcx", (pcx_picture_ptr) &stick_cells,1) ;

// выбираем 6 кадров движения

PCX_Grap_Bitmap((pcx_picture_ptr)&stick_cells,(sprite_ptr)&object,0,0,0);

PCX_Grap_Bitmap((pcx_picture_ptr)&stick_cells,(sprite_ptr)&object,1,1,0);

PCX_Grap_Bitmap((pcx_picture_ptr)&stick_cells,(Sprite_ptr)&object,2,2,0);

PCX_Grap_Bitmap((pcx_picture_ptr)&stick_cells,(sprite_ptr)&object,3,3,0);

PCX_Grap_Bitmap((pcx_picture_ptr)&stick cells,(sprite_ptr)&object,4,4,0);

PCX_Grap_Bitmap((pcx_picture_ptr)&stick_cells,(sprite_ptr)&object,5,5,0);

PCX_Grap_Bitmap((pcx_picture_ptr)&stick_cells,(sprite_ptr)&object,6,0,1);

PCX_Grap_Bitmap((pcx_picture_ptr)&stick_cells,(sprite_ptr)&object,7,1,1);




Начало  Назад  Вперед



Книжный магазин