Temes Temat założony przez niniejszego użytkownika |
Problem z eventami i klawiaturą » 2012-06-07 17:27:56 Problem polega na tym, że mam zainstalowaną myszkę i klawiaturę... Kod: do { al_clear_to_color( al_map_rgb( 0, 0, 0 ) ); ALLEGRO_EVENT ev; al_wait_for_event( event_queue, & ev ); if( ev.mouse.x >= 0 && ev.mouse.x <= 31 && ev.mouse.y >= 0 && ev.mouse.y <= 31 ) { al_draw_bitmap( IkonaEkwipunku, 0, 0, 0 ); al_draw_text( Courier, al_map_rgb( 255, 255, 255 ), 10, 45, ALLEGRO_ALIGN_LEFT, "Ekwipunek" ); } else { al_draw_bitmap( IkonaEkwipunku, 0, 0, 0 ); } if( ev.mouse.x >= 32 && ev.mouse.x <= 63 && ev.mouse.y >= 0 && ev.mouse.y <= 31 ) { al_draw_bitmap( IkonaStatystyk, 32, 0, 0 ); al_draw_text( Courier, al_map_rgb( 255, 255, 255 ), 10, 45, ALLEGRO_ALIGN_LEFT, "Statystyki" ); } else { al_draw_bitmap( IkonaStatystyk, 32, 0, 0 ); } if( ev.mouse.x >= 64 && ev.mouse.x <= 95 && ev.mouse.y >= 0 && ev.mouse.y <= 31 ) { al_draw_bitmap( IkonaMapy, 64, 0, 0 ); al_draw_text( Courier, al_map_rgb( 255, 255, 255 ), 10, 45, ALLEGRO_ALIGN_LEFT, "Mapa" ); } else { al_draw_bitmap( IkonaMapy, 64, 0, 0 ); } if( ev.mouse.x >= 96 && ev.mouse.x <= 128 && ev.mouse.y >= 0 && ev.mouse.y <= 31 ) { al_draw_bitmap( IkonaWyjscia, 96, 0, 0 ); al_draw_text( Courier, al_map_rgb( 255, 255, 255 ), 10, 45, ALLEGRO_ALIGN_LEFT, "Zakoncz gre" ); } else { al_draw_bitmap( IkonaWyjscia, 96, 0, 0 ); } (...) al_get_keyboard_state( & StatusKlawiatury ); if( PrzesunX >= 64 && PrzesunX <= 160 ) { if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_RIGHT ) ) { PrzesunX += 4; PostacX += 3; al_rest( 0.1 ); } if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_LEFT ) ) { PrzesunX -= 4; PostacX -= 3; al_rest( 0.1 ); } } else { if( PrzesunX <= 64 ) { if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_RIGHT ) ) { PrzesunX += 4; PostacX += 3; al_rest( 0.1 ); } } if( PrzesunX >= 160 ) { if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_LEFT ) ) { PrzesunX -= 4; PostacX += 3; al_rest( 0.1 ); } } } if( PrzesunY >= - 192 && PrzesunY <= 0 ) { if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_DOWN ) ) { PrzesunY += 4; PostacY += 2; al_rest( 0.1 ); } if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_UP ) ) { PrzesunY -= 4; PostacY -= 2; al_rest( 0.1 ); } } else { if( PrzesunY <= - 192 ) { if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_DOWN ) ) { PrzesunY += 4; PostacY += 2; al_rest( 0.1 ); } } if( PrzesunY >= 0 ) { if( al_key_down( & StatusKlawiatury, ALLEGRO_KEY_UP ) ) { PrzesunY -= 4; PostacY -= 2; al_rest( 0.1 ); } } } al_flip_display(); } while( !al_key_down( & StatusKlawiatury, ALLEGRO_KEY_ENTER ) ); Mój problem polega na tym, że mam 4 menu do wyboru myszką i postać która porusza się poprzez klawiaturę... Postać nie może się ruszyć dopóki nie ruszę myszką... A jak ruszam myszką to na mapie pojawiają się obrazki ,które nie są nawet używane (zadeklarowane, ale ani razu nie używane)... Jak to naprawić? |