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


«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_Bitniap ( (pcx_picture_ptr) &stick_cells,(sprite_ptr)&object,6, 0,1);




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



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