Programación Específica > Allegro
Problema con un code
(1/1)
vojok:
Hola,soy nuevo en el foro y en allegro ,me meti a aprender allegro de un manual de Daniel Acuña y no esta bien explicado por ejemplo utiliza la funcion BLIT pero no la explica y la verdad me quede atorado ahi sin poder avanzar alguien me podria explicar que es lo que hace, y sacarme unas dudas que tengo
--- Código: C++ --- #include <allegro.h>#include <iostream.h> int iniciar (){ allegro_init(); install_keyboard(); set_color_depth(16); if(set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0) < 0 ) { cout<<"Error al iniciar modo grafico"<<endl; allegro_exit(); exit(-1); }} void terminar(){ allegro_exit();} void realizar_juego(){ BITMAP *nave; BITMAP *buffer; int x,y, x_anterior,y_anterior; nave=load_bitmap("C:/nave.bmp",0); if(nave==NULL)terminar(); buffer=create_bitmap(nave->w,nave->h); //Que es lo que hace el create_bitmap? clear(buffer); if(buffer==NULL)terminar(); x=SCREEN_W/2; y=SCREEN_H/2; while(!key[KEY_ESC]){ if(key[KEY_UP]) { y--; } if(key[KEY_DOWN]) { y++; } if(key[KEY_RIGHT]) { x++; } if(key[KEY_LEFT]) { x--; } if(x<0) x=x_anterior; if(x>SCREEN_W-nave->w) x=x_anterior; if(y<0)y=y_anterior; if(y>SCREEN_H-nave->h) y=y_anterior; //Aca viene el problemon que no se que hace esto if ((x_anterior !=x) || (y_anterior!=y)) //aca esta diciendo que si X_anterior no es igual a X que se cumpla lo siguiente NO? { blit(buffer,screen,0,0,x_anterior,y_anterior,buffer->w,buffer->h); // aca ya estoy perdido xq no se que hace esta funcion draw_sprite(screen,nave,x,y); //aca dibuja el sprite en pantalla verdad? } x_anterior=x; y_anterior=y;} } int main(){ iniciar(); realizar_juego(); terminar();}END_OF_MAIN()
Y tambien cuando lo ejecuto que muevo al sprite x pantalla tiene el fondo de color azul (el sprite no la pantalla ) como puedo quitarle o acerle transparente el fonde del sprite con Allegro, y tambien tiene un parpadeo cuando muevo al sprite en pantalla ,alguien me podria explicar por favor como solucionar estas cosas? o me podrian decir algun manual que este bien explicado para poder avanzar en Allegro??
Saludos.
Navegación
Ir a la versión completa