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

[allegro 4.4] Najeżdżanie myszą na pole

Ostatnio zmodyfikowano 2013-06-14 18:50
Autor Wiadomość
Tebex
Temat założony przez niniejszego użytkownika
[allegro 4.4] Najeżdżanie myszą na pole
» 2013-06-14 18:02:40
Może najpierw kodzik:
C/C++
#include <allegro.h>

int main()
{
    int a = 1;
    allegro_init();
    install_keyboard();
    install_mouse();
   
   
    BITMAP * kursor = NULL;
   
   
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT_FULLSCREEN, 1366, 768, 0, 0 );
    clear_to_color( screen, makecol( 255, 255, 255 ) );
   
   
    BITMAP * obr_menu = NULL;
    BITMAP * obr_men_gr = NULL;
    BITMAP * obr_men_op = NULL;
    BITMAP * obr_men_wy = NULL;
   
    obr_menu = load_bmp( "menu.bmp", default_palette );
    obr_men_gr = load_bmp( "menu_graj.bmp", default_palette );
    obr_men_op = load_bmp( "menu_opcje.bmp", default_palette );
    obr_men_wy = load_bmp( "menu_wyjscie.bmp", default_palette );
   
    blit( obr_menu, screen, 0, 0, 0, 0, obr_menu->w, obr_menu->h );
   
    kursor = load_bmp( "kursor.bmp", default_palette );
    show_mouse( screen );
    set_mouse_sprite( kursor );
    set_mouse_sprite_focus( 0, 0 );
    set_mouse_speed( 1, 1 );
    unscare_mouse();
   
   
    while( true )
    {
        while( mouse_x > 1054 && mouse_x < 1249 && mouse_y > 242 && mouse_y < 352 )
        {
            blit( obr_men_gr, screen, 0, 0, 0, 0, obr_men_gr->w, obr_men_gr->h ); //wyświetla zdjęcie menu z zaznaczoną opcją na którą najechana jest myszka
           
        }
        while( mouse_x > 1045 && mouse_x < 1282 && mouse_y > 396 && mouse_y < 502 )
        {
           
            blit( obr_men_op, screen, 0, 0, 0, 0, obr_men_op->w, obr_men_op->h ); // to też
        }
        while( mouse_x > 1032 && mouse_x < 1234 && mouse_y > 554 && mouse_y < 660 )
        {
           
            blit( obr_men_wy, screen, 0, 0, 0, 0, obr_men_wy->w, obr_men_wy->h ); //i to
            if( mouse_b == 1 )
                 break;
           
        }
        blit( obr_menu, screen, 0, 0, 0, 0, obr_menu->w, obr_menu->h ); // to wyswietla menu bez zaznaczen
    }
    allegro_exit();
    return 0;
}
END_OF_MAIN()


Tak więc przy takim kodzie ekran miga(i przed i po najechaniu na opcje),a ja chciałbym aby tylko raz wyswietlało dany obrazek(kiedy sie nie najedzie, kiedy sie najedzie i znow kiedy sie nie najedzie)
Wiem że wytłumaczyłem to nijak ale proszę choć spróbować zrozumieć
P-85574
SeaMonster131
» 2013-06-14 18:50:22
Zamień while na if, gdy porównujesz pozycję myszki.
P-85576
« 1 »
  Strona 1 z 1