[allegro] klik
Ostatnio zmodyfikowano 2009-05-08 17:43
driver1995 Temat założony przez niniejszego użytkownika |
[allegro] klik » 2009-05-07 23:10:59 Witam... Mam problem, gdyż chcę aby w moim programie, gdy najedzie się myszką na jakiś obszar wydobywał się dźwięk kliknięcia... Problem tkwi w tym, że jak robie tak: if( mx >= 7 && mx <= 134 && my >= 156 && my <= 225 ) { masked_blit( accMain, bufor1, 0, 0, 7, 156, accMain->w, accMain->h ); play_sample( Klik, 255, 127, 1000, 0 ); } to dźwięk wydobywa się dopiero po tym, jak zjadę myszką z tego obszaru... Czemu tak jest i jak to naprawić? Bardzo proszę o pomoc... |
|
DejaVu |
» 2009-05-07 23:17:41 powinieneś mieć stany: 1) przycisk niekliknięty 2) przycisk był niekliknięty i został kliknięty 3) mysz jest nad przyciskiem i przycisk wciśnięty Podczas stanu #2 powinieneś zaimpementować odgrywanie dźwięku. W Twoim kodzie brakuje rozróżnienia między stanem 2,a 3 tak więc dźwięk zaczyna odgrywać się od początku za każdym przejściem pętli. Stąd uzyskujesz opisany przez siebie efekt. |
|
driver1995 Temat założony przez niniejszego użytkownika |
» 2009-05-08 17:43:43 Zrobiłem cuś w tym stylu i działa ;d;d;d if( mx >= 7 && mx <= 134 && my >= 156 && my <= 225 ) a = 1;
if( !( mx >= 7 && mx <= 134 && my >= 156 && my <= 225 ) && a == 1 ) play_sample( Klik, 255, 127, 1000, 0 );
if( mx >= 7 && mx <= 134 && my >= 156 && my <= 225 ) masked_blit( accMain, bufor1, 0, 0, 7, 156, accMain->w, accMain->h ); |
|
« 1 » |