Nie wiem czy o takie menu ci chodzi, ale łap kod:
Jest to menu z mojej gry którą kiedyś opublikowałem "The Shooter".
BITMAP * bplay = NULL;
BITMAP * bsettings = NULL;
BITMAP * bexit = NULL;
BITMAP * menutlo = NULL;
BITMAP * logo = NULL;
BITMAP * logox = NULL;
bplay = load_bitmap( "bplay.bmp", NULL );
bsettings = load_bitmap( "bsettings.bmp", NULL );
bexit = load_bitmap( "bexit.bmp", NULL );
menutlo = load_bitmap( "tlomenu.bmp", NULL );
logo = load_bitmap( "logo.bmp", NULL );
logox = load_bitmap( "By Xaulin.bmp", NULL );
int bplay_x = 273, bplay_y = 320;
int bsettings_x = 273, bsettings_y =370;
int bexit_x = 273, bexit_y =420;
int menutlo_x = 0, menutlo_y =0;
int logo_x = 100, logo_y =40;
int logox_x = 1, logox_y =310;
while( !key[ KEY_ESC ] )
{
myszka();
menu:
stop_sample(loseyou);
int kursor_x = mx - 40 , kursor_y = my - 40;
if(mouse_x >= bplay_x && mouse_x <= bplay_x +260 ){if(mouse_y >= bplay_y && mouse_y <= bplay_y + 48 ){if(mb==1){play_sample( klik, 255, 127, 1000, 0 ); goto play; }}}
if(mouse_x >= bexit_x && mouse_x <= bexit_x +260 ){if(mouse_y >= bexit_y && mouse_y <= bexit_y + 48 ){if(mb==1){play_sample( klik, 255, 127, 1000, 0 ); goto exit; }}}
if(mouse_x >= bsettings_x && mouse_x <= bsettings_x +260 ){if(mouse_y >= bsettings_y && mouse_y <= bsettings_y + 48 ){if(mb==1){play_sample( klik, 255, 127, 1000, 0 ); goto settings; }}}
//if( mx >= exit_x && mx <= exit_x + 260 && my + >= exit_y && my + <= exit_y + 48 && mb == 1) {goto exit;}
clear_to_color( bufor, makecol( 100, 100, 100 ) );
masked_blit( menutlo, bufor, 0, 0, menutlo_x, menutlo_y, menutlo->w, menutlo->h );
textprintf_ex( bufor, font, 600, 589, makecol( 200, 200, 200 ), - 1, "x = %d, y = %d, mb= %d", mx, my, mb );
masked_blit( bplay, bufor, 0, 0, bplay_x, bplay_y, bplay->w, bplay->h );
masked_blit( bsettings, bufor, 0, 0, bsettings_x, bsettings_y, bsettings->w, bsettings->h );
masked_blit( bexit, bufor, 0, 0, bexit_x, bexit_y, bexit->w, bexit->h );
masked_blit( logo, bufor, 0, 0, logo_x, logo_y, logo->w, logo->h );
masked_blit( logox, bufor, 0, 0, logox_x, logox_y, logox->w, logox->h );
masked_blit( kursor, bufor, 0, 0, kursor_x, kursor_y, kursor->w, kursor->h );
blit( bufor, screen, 0, 0, 0, 0, 800, 600 );
clear_keybuf();
}
Jest muzyka, jest tło, są "kliki" itd.
Cały kod opiera się na nieprzemyślanych linijkach, kolizjach i goto
A tak btw. co jest trudnego w napisaniu menu?