Visualizza messaggio singolo
Vecchio 19 luglio 14, 13:15   #2 (permalink)  Top
MSchiepp
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da trabo Visualizza messaggio
...non capisco proprio dove sbaglio.
L'errore sta nel fatto che tu impieghi più di 100 mS per premere il pulsante e quindi quello che succede è che tu premi il pulsante, il programma esegue un ciclo dell'effetto selezionato poi arriva in fondo dove trova il pulsante ancora premuto e quindi passa al successivo, finchè non trova il pulsante rilasciato e rimane nell'ultimo effetto selezionato.
Puoi provare due soluzioni:
1) prima del ritardo di 100 mS aspetti che il pulsante venga rilasciato: questo fa partire il nuovo effetto quando rilasci il pulsante; il ritardo di 100 mS serve ad eliminare i rimbalzi del pulsante.

2) Usi una variabile come flag inizializzata a '0' e all'inizio del ciclo di ogni effetto verifichi se il pulsante è rilasciato; se sì metti il flag ad 1 e alla fine passi al ciclo successivo se trovi il pulsante premuto e il flag=1.

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando