Forum IDG.pl - miejsce dyskusji o IT: [Allegro c++] Problem z menu - Forum IDG.pl - miejsce dyskusji o IT

Skocz do zawartości

Close Open
Close Open
Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie

[Allegro c++] Problem z menu Oceń temat: -----

#1 GośćDark.net_*

  • Grupa: Goście

Napisany 22 wrzesień 2011 - 15:39

Witam

Pisze proste menu w c++. Wyświetlają się trzy przyciski. Funkcja ma zwrócić nr naciśniętego przycisku.

Funkcja main():

int main()
{
    allegro_init();
    install_mouse();
    set_color_depth(32);
    set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,800,600,0,0);

    // Wskaźniki
    BITMAP *bufor = create_bitmap(800,600);

    int a = menu(bufor);

    destroy_bitmap(bufor);
    allegro_exit();
    return 0;
}
END_OF_MAIN(); 


Funkcja wyświetlająca przyciski i zwracająca nr przycisku:
int menu(BITMAP *buf)
{
    BITMAP *grafika = load_bmp("menu.bmp",default_palette);
    int wybor = 0;

    while(wybor <= 0)
    {
        //WYSWIETLENIE POCZATKOWE
        for(int i=0; i<3; i++)
            masked_blit(grafika, buf, 0, 52*1, 300, 172 + 50*i + 52*i, 186, 52);

        //GDY KURSOR MYSZKI ZNAJDUJE SIE NAD PIERWSZYM PRZYCISKIEM
        if((mouse_x >= 300) && (mouse_x <= 300 + 186) && (mouse_y >= 172) && (mouse_y <= 172 + 52))
        {
            masked_blit(grafika, buf, 0, 52*0, 300, 172 + 50*0 + 52*0, 186, 52);
            if(mouse_b==1)
            {
                masked_blit(grafika, buf, 0, 52*2, 300, 172 + 50*0 + 52*0, 186, 52);
                wybor = 1;
            }

        }

        //GDY KURSOR MYSZKI ZNAJDUJE SIE NAD DRUGIM PRZYCISKIEM
        else if((mouse_x >= 300) && (mouse_x <= 300 + 186) && (mouse_y >= 172 + 50*1 + 52*1 ) && (mouse_y <= 172 + 50*2 + 52*2))
        {
            masked_blit(grafika, buf, 0, 52*0, 300, 172 + 50*1 + 52*1, 186, 52);
            if(mouse_b==1)
            {
                masked_blit(grafika, buf, 0, 52*2, 300, 172 + 50*1 + 52*1, 186, 52);
                wybor = 2;
            }
        }

        //GDY KURSOR MYSZKI ZNAJDUJE SIE NAD TRZECIM PRZYCISKIEM
        else if((mouse_x >= 300) && (mouse_x <= 300 + 186) && (mouse_y >= 172 + 50*2 + 52*2) && (mouse_y <= 172 + 50*2 + 52*2 + 52))
        {
            masked_blit(grafika, buf, 0, 52*0, 300, 172 + 50*2 + 52*2, 186, 52);
            if(mouse_b==1)
            {
                masked_blit(grafika, buf, 0, 52*2, 300, 172 + 50*2 + 52*2, 186, 52);
                wybor = 3;
            }
        }

        show_mouse(buf);
        blit(buf, screen, 0,0,0,0, 800, 600);
        clear_to_color(buf, makecol(0,0,0));


    }//KONIEC:while(wybor == 0)

    scare_mouse();
    destroy_bitmap(grafika);
    return wybor;
} 


Menu wyświetla się dobrze. Przyciski działają dobrze (tzn ze najeżdżam na przyciski to staja się aktywne i gdy kliknę lewym przyciskiem myszki to przycisk się naciska).
Funkcja zwraca dobry wynik ale zaraz po tym wyskakuje okno:
"Wystąpił problem z aplikacją TestAllegro.exe i zostanie ona zamknięta. Przepraszamy za kłopoty."
Co jest tego powodem ?? Czyżbym zapomniał zwolnić gdzieś pamięci??

Zauważyłem że okno pojawia się przy instrukcji: "destroy_bitmap(bufor);"

#2 Użytkownik jest niedostępny   lukasz3012 Ikona

  • Adept
  • Pip
  • Grupa: Forumowicze
  • Postów: 2
  • Dołączył: 22-wrzesień 11
  • Płeć:Mężczyzna
  • Lokalizacja:Bytom

Napisany 22 wrzesień 2011 - 17:01

jak założyć taki temat jak ty masz

Prześlij ten temat:


Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie


Podobne tematy Collapse

  Temat Forum Rozpoczęty przez Statystyki Ostatni post
Gorący temat (Nowe) Ikona Samsung królem plazm. Panasonic zamyka kolejne fabryki. Telewizja i HD locoloco Ikona
  • 22 Odpowiedzi
  • 998 Wyświetleń
Nowe odpowiedzi Ikona Edytor plików mkv Audio/Wideo Klakier123 Ikona
  • 2 Odpowiedzi
  • 90 Wyświetleń
Nowe odpowiedzi Ikona Nowe TV LCD Panasonic 2012 i ich charakterystyka obrazu. Telewizja i HD locoloco Ikona
  • 1 Odpowiedz
  • 813 Wyświetleń
Nowe odpowiedzi Ikona Tibia 9.53 ALL Cracked Bots !
Tibia 9.53 ALL Cracked Bots !
cRPG tibiasoft Ikona
  • 0 Odpowiedzi
  • 32 Wyświetleń
Nowe odpowiedzi Ikona Wytlumacz.pl - bardzo pomocne narzędzie dla studentów Serwisy online bastek89 Ikona
  • 0 Odpowiedzi
  • 48 Wyświetleń

1 Użytkowników czyta ten temat
0 użytkowników, 1 gości, 0 anonimowych użytkowników


Reklama