Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315

    [Java] Problema con evento KeyReleased

    Salve a tutti, sto scrivendo un semplice videogame con le swing e vorrei impostare la potenza di un omino con il metodo classico della barra di spazio.
    Quando il giocatore preme la barra si apre una finestra con una JProgressBar che aumenta e diminuisce il proprio valore, fino a che la barra di spazio non viene rilasciata.
    Io gestisco la cosa con gli eventi keyPressed e keyReleased:
    quando ricevo il primo keyPressed parte la barra, quando ricevo un keyReleased interrompo la corsa della barra, prelevo il valore e lo imposto come potenza di tiro.
    Sotto windows tutto funziona bene, ma sotto linux ho un grosso problema: quando un tasto viene premuto ricevo una continua successione di eventi keyPressed e keyReleased, anche se in realta' non e' stato rilasciato nessun tasto, e questo mi manda a pallino il tutto. Infatti al primo keyReleased ricevuto la barra interrompe la propria corsa e imposta la velocita' dell'omino troppo bassa, non fa mai intempo ad arrivare a fine corsa.
    Qualcuno a qualche idea per risolvere il problema, senza farmi cambiare tutta l'impostazione di gioco?
    Ciao,
    Lorenzo

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315

    Aggiornamento

    Ebbene... sembra che questo comportamento sia un bug. Il problema deriva dal fatto che l'evento keyReleased viene scatenato da codice nativo, e quindi l'indipendenza dalla piattaforma non e' garantita.
    Mi sa tanto che dovro' cambiare metodo.
    Ciao,
    Lorenzo

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Fai che battendo sulla barra spaziatrice parte la JProgressBar e ribattendo la si ferma...


  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Penso che dovro' fare una cosa simile, ma non mi piace granche', peccato.
    Ciao,
    Lorenzo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.