29. december 2009 - 15:50Der er
5 kommentarer og 1 løsning
Registrering af KeyEvent i while løkke
Jeg er i gang med, at lave et snake spil i en helt alm. java applikation. Til selve spil logikken bruger jeg en while løkke, som kører så længe spillet er i gang. Mit problem er, at mens denne while løkke kører, bliver der ikke registreret nogle KeyEvents, de bliver først registreret når jeg kommer ud af løkken.
Jeg mener, at jeg har lavet noget lign. i c# .net, hvor jeg kunne kalde en metode, der så kunne tjekke efter nye events. Er der noget lign. i Java, eller kan i komme med andre løsninger på dette?
Grundliggende bør du bruge en tråd. Swing kommer med flere klasser til at gøre det nemmere (husk at opdatering af Swing komponenter skal ske fra event tråden).
Jeg fik det til at virke ved at oprette en ny tråd til while løkken. Til andre der måtte være interesserede og kigger her, kommer et lille fif. For at det virker som det skal, skal alle variabler der skal bruges i tråden, sendes med som parameter i constructoren i tråd klassen. Jeg kan ikke komme med nogen saglig forklaring, men det skulle de bare i mit tilfælde...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.