Tutorial: running bitmap from left to right =========================================== Create a bitmap with a sunnyboy, let it run from left to right, then end the program. step 1 At first we have to initialize VgaGames and open a window or switch to graphical screen. ==>
int main(int argc, char ** argv) {
char * arg0; // for the name of the program
bitmap * sunboy; // for the created sunnyboy
/* initialize vgagames, always pass argv[0] */
if (vg_init_vgagames(argv[0],0,NULL) < 0) {exit(1);}
/* open window */
if ((arg0=strrchr(argv[0],'/'))==NULL) {arg0=argv[0];} else {arg0++;}
if (vg_window_open(arg0,0,0) < 0) {exit(1);}
|
/* create a green sunnyboy */ sunboy=create_sunnyboy(vg_color_index(CL_GREEN,100)); if (sunboy==NULL) { // error vg_window_close(); exit(1); } |
/* let sunnyboy run from left to right */
{int x_start,x_end,y;
// x_start: where to start sunnyboy in x-direction
x_start=-(vg_bitmap_width(sunboy)/2);
// x_start: where to end sunnyboy in x-direction
x_end=SC_WIDTH+(vg_bitmap_width(sunboy)/2);
// y is always the same
y=SC_HEIGHT/2;
/* give out sunnyboy, flush window and wait a time */
for (; x_start <= x_end; x_start++) {
vg_bitmap_clear(NULL,RGB_BLACK); // clear window
vg_bitmap_copyto(NULL,x_start,y,sunboy,0,0,0,0,RGB_TRANS); // give out
vg_window_flush(); // flush window
vg_wait_time(30); // wait up to 30 milliseconds
}
}
|
/* free bitmap */ vg_bitmap_free(sunboy); /* close window */ vg_window_close(); exit(0); } |