2011-07-09 2 views
1

je suis assez nouveau à la programmation avec allegro, et je veux changer la couleur de fond de mes programmes de quelque chose de plus agréable que le noir haha ​​:) quelqu'un peut aider s'il vous plaît?comment faites-vous une formation en allegro avec C++?

et juste pour une référence de ce im faire

#include <allegro.h> 

BITMAP* buffer; 
BITMAP* bmp; 
int cursor_x = 20; 
int cursor_y = 20; 

int getMouseInfo(){ 
    if(mouse_b & 1){ 
        cursor_x = mouse_x; 
        cursor_y = mouse_y; 
     return 1; 
    } 
    return 0; 
} 
void updateScreen(){ 

    show_mouse(NULL); 
    circlefill (buffer, cursor_x, cursor_y, 60, makecol(0, 255 , 0)); 
    draw_sprite(screen, buffer, 0, 0); 
} 
int main(){ 

    allegro_init(); 
    install_mouse(); 
    install_keyboard(); 
    set_color_depth(16); 
    set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0); 
    rectfill ( 

    buffer = create_bitmap(640, 480);  


    show_mouse(screen);   

    while(!key[KEY_ESC]) 
{ 
    int switcher=1; 
    while(getMouseInfo()) 
    { 
    updateScreen(); 
    if(getMouseInfo()==0) switcher=0; 
    } 
    if(switcher==0) show_mouse(screen); 

    } 

return 0; 
} 
END_OF_MAIN(); 
+0

Dans Allegro 4, vous aurez généralement travailler avec un tampon bitmap hors écran que vous avez créé. En fin de compte, vous trouverez que chaque image que vous aurez besoin pour l'effacer et redessiner le cadre ... donc il n'y a pas de travail supplémentaire dans la compensation à quelque chose d'autre que le noir. – Matthew

Répondre

0

dessiner un rectangle de taille écran qui est la couleur que vous voulez que le fond soit. Ou utilisez simplement clear_bitmap pour effacer l'écran.

+0

oui i espérais que i wouldnt ont pour dessiner un rectangle – andy

2

Pour créer bitmap ANTÉCÉDENTS essayez ceci:

/* Make a bitmap in RAM. */ 
    BITMAP *bmp = create_bitmap(SCR_X, SCR_Y); 

essayez ceci pour effacer bmp à une couleur différente:

/* Clear the screen to red. */ 
    clear_to_color(bmp, makecol(255, 0, 0)); 

ou cette option pour charger bitmap à partir du fichier:

bmp = load_bitmap("image.pcx", palette); 

Ensuite, il vous suffit de blit ce bitmap avec votre écran - comme ceci:

/* Blit bmp on the screen. */ 
    blit(bmp, screen, 0, 0, 0, 0, bmp->w, bmp->h); 
+0

'clear_bitmap (BMP)' est un appel aussi à 'clear_to_color (BMP, makecol (0, 0, 0))'. Appeler 'clear_to_color (...)' juste après 'clear_bmp (...)' est un gaspillage. Appelez 'clear_to_color (...)'. En outre, il suffit d'appeler 'BITMAP * bmp = load_bitmap ("image.pcx", palette)', vous n'avez pas besoin de "faire une image bitmap dans la RAM" en premier. – Casey

-2
#include <iostream> 
using namespace std; 

int main() 
{ 
    cout<<" In the world were gamers play MINECRAFT, where they creating everithing they can emagine ...\n"; 
    cin.get(); 

    return 0; 
} 
+0

que puis-je ajouter ???? – user3450453