Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Allegro key
Forum - C/C++ - Allegro key

Avatar
genni_96 (Normal User)
Pro


Messaggi: 108
Iscritto: 04/06/2010

Segnala al moderatore
Postato alle 12:44
Lunedì, 21/06/2010
con Allegro uso l'array key[TASTO] per controllare se un tasto è premuto, diventa true, e è premuto o false se è rilasciato.
Io vorrei che quando premo un tasto diventasse true solo per un ciclo e poi ritornasse false anche se il tasto è premuto.
sapete come fare?
Grazie in anticipo.

Ultima modifica effettuata da genni_96 il 21/06/2010 alle 12:45
PM Quote
Avatar
napco (Normal User)
Pro


Messaggi: 64
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 17:17
Lunedì, 21/06/2010
Le librerie SDL permettono di gestire la pressione dei tasti tramite eventi. Presumo che anche allegro lo faccia, anche se sinceramente non l'ho mai provato. Controlla la documentazione, altrimenti potresti usare un metodo "alternativo":

Codice sorgente - presumibilmente C/C++

  1. std::map<tipo_tasto_di_allegro, bool> tasti;
  2.  
  3. bool controlla_tasto(tipo_tasto_di_allegro tasto)
  4. {
  5.     bool result = funzione_di_allegro_per_i_tasti(tasto) && (!tasti[tasto]);
  6.     tasti[tasto] = funzione_di_allegro_per_i_tasti(tasto);
  7.     return result;
  8. }



So resistere a tutto, tranne che alle tentazioni. - Oscar Wilde
PM Quote
Avatar
genni_96 (Normal User)
Pro


Messaggi: 108
Iscritto: 04/06/2010

Segnala al moderatore
Postato alle 9:02
Martedì, 22/06/2010
Fin qui c'ero arrivato , ma io volevo sapere qual'è questa funzione.

PM Quote
Avatar
Neo1986 (Ex-Member)
Pro


Messaggi: 88
Iscritto: 21/06/2010

Segnala al moderatore
Postato alle 10:32
Martedì, 22/06/2010
Ciao,

purtroppo non è possibile farlo direttamente,
e come se pretendessi di "alzare" il tasto premuto da codice, assurdo direi.

L'unico modo è fare come ti ha suggerito napco, quindi dopo il primo ciclo ignorare il tasto premuto finchè non torna false.

Ti passo il link con tutte le funzioni associate alla tastiera, vedi se ne trovi qualcuna più comoda per fare quello che ti abbiamo suggerito :

http://alleg.sourceforge.net/latestdocs/en/alleg006.html


Chiedere è lecito, rispondere è cortesia, rompere il caxxx è prassi!
PM Quote