Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro] Efekt światła

Ostatnio zmodyfikowano 2009-03-18 18:52
Autor Wiadomość
Patzick
» 2009-03-18 18:46:30
mówiłem, że nakładasz kilka map... no dobra przyjrzyj się temu
C/C++
BITMAP * pochodnia = NULL; BITMAP * pochodnia1 = NULL; BITMAP * pochodnia2 = NULL; BITMAP * pochodnia3 = NULL; //deklarujesz sobie te kilka map i w mainie do każdej createbitmap robisz.

void efekt_pochodni( int a ) {
    if( a == 1 ) {
        for( int i = 0; i < 40; i++ ) {
            set_trans_blender( 255, 255, 255, i );
            draw_trans_sprite( bufor, pochodnia, 0, 0 );
            blit( bufor, screen, 0, 0, 0, 0, 640, 480 );
        }; };
    clear_to_color( pochodnia3, makecol( 35, 35, 35 ) );
    circlefill( pochodnia3, SCREEN_W / 2, SCREEN_H / 2, 45, makecol( 255, 0, 255 ) ); //najmniejsze kółko z najjaśniejszym tłem
    masked_blit( pochodnia3, bufor, 0, 0, 0, 0, 800, 600 );
    clear_to_color( pochodnia2, makecol( 25, 25, 25 ) );
    circlefill( pochodnia2, SCREEN_W / 2, SCREEN_H / 2, 50, makecol( 255, 0, 255 ) ); //większe kółko z jasnym tłem
    masked_blit( pochodnia2, bufor, 0, 0, 0, 0, 800, 600 );
    clear_to_color( pochodnia1, makecol( 15, 15, 15 ) );
    circlefill( pochodnia1, SCREEN_W / 2, SCREEN_H / 2, 55, makecol( 255, 0, 255 ) ); //jeszcze większe kółko z lekko jasnym tłem
    masked_blit( pochodnia1, bufor, 0, 0, 0, 0, 800, 600 );
    clear_to_color( pochodnia, makecol( 0, 0, 0 ) );
    circlefill( pochodnia, SCREEN_W / 2, SCREEN_H / 2, 60, makecol( 255, 0, 255 ) ); //najwięsze kółko z czarnym tłem
    masked_blit( pochodnia, bufor, 0, 0, 0, 0, 800, 600 );
};
Proste.

//EDIT
w sumie kiczowato to wygląda, zaraz pomyślę nad czymś lepszym
P-4820
Ju1ian
Temat założony przez niniejszego użytkownika
» 2009-03-18 18:52:37
Dobra, dzięki. Niedługo sprawdzę, czy działa. A nie można tego jakoś tak płynnie zrobić jak w innych grach ;P Szkoda, że na BITMAP* nie można zrobić tablicy ;P
P-4821
1 2 « 3 »
Poprzednia strona Strona 3 z 3