Pascalban készítek éppen egy játékot, és a keypressed-et nem nagyon érzékeli a program grafikus ablak futása alatt, miért van ez, vagy hogy tudnám ezt megoldani?










Esetleg Readkey?
var key:char;
...
key:=ReadKey;
if key=#13 then...
vagy
if key='a' then...










Előző hozzászólásom szerintem rendesen félrement.
Próbáltad a Crt helyett a Wincrt unit-ot használni?





Nem tudom, segít-e, de a Free Pascal helpjében a KeyPressed vizsgálatát ciklusban mutatják, így:
repeat
until Keypressed;
Ezután jön a beolvasás:
valami := ReadKey;
A ciklusmagban meg nyilván ott lehet, amit a program addig ügyködik, amíg meg nem nyomod a gombot. Ez nem jelenti azt, hogy a végtelenségig kell várnia, ha nem nyomsz, vagy teljesen végig kell csinálnia mindent, mire észreveszi a billentyűütést. A végefeltételt kiegészítheted, mondjuk ilyenformán:
repeat
...[utasítások]
until KeyPressed or (szamlalo > hatar);
if KeyPressed then belenyulok; // itt beolvasod a billentyűt, és csinálsz valamit
...
Így több helyre is beépíthetsz gombnyomásvizsgálatot, miközben a program a feladatainak csak egy részét végezte el. Természetesen kezelhetőbb a dolog, ha egy-egy ilyen megoldás valami függvénybe van beleépítve, és a visszatérési értékek alapján irányítgatod a program lefutását.
Nem írtad az operációs rendszert, ezért megemlítem, hogy linuxban ellenjavallott a Crt és a Graph unit együttes használata, esetleg ez is bezavarhat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!