Kezdőoldal » Számítástechnika » Programozás » Pascalban készítek éppen egy...

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?

Figyelt kérdés
a programban így szerepel: if keypressed then "procedure-parancs";(persze nem így szós zerint)

2015. ápr. 7. 18:48
 1/5 anonim ***** válasza:
Ablakobjektumnak nincs keypressed tulajdonsága? Esetleg canvasnek?
2015. ápr. 7. 19:11
Hasznos számodra ez a válasz?
 2/5 CspCsj ***** válasza:

Esetleg Readkey?


var key:char;

...

key:=ReadKey;

if key=#13 then...

vagy

if key='a' then...

2015. ápr. 7. 19:11
Hasznos számodra ez a válasz?
 3/5 ejbenjaro ***** válasza:
100%
A crt unit helyett próbáld a wincrt unitot.
2015. ápr. 7. 19:19
Hasznos számodra ez a válasz?
 4/5 CspCsj ***** válasza:

Előző hozzászólásom szerintem rendesen félrement.

Próbáltad a Crt helyett a Wincrt unit-ot használni?

2015. ápr. 7. 19:24
Hasznos számodra ez a válasz?
 5/5 tabaki ***** válasza:

Nem tudom, segít-e, de a Free Pascal helpjében a KeyPressed vizsgálatát ciklusban mutatják, így:

repeat

until Keypressed;


[link]


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.

2015. ápr. 7. 23:44
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!