Free Pascal-ban hogyan kell animációt készíteni?
Free Pascal-ban kéne megoldani valahogy, hogy nyilakkal tudjak mozgatni pl. egy kört.
Próbáltam letörölni a képernyőt és újrarajzolni mindent az új koordinátákba, de így villódzik. Szóval a cleardevice; nem vált be. Van esetleg valami más megoldás ahol nem fog villódzani a kép?
case
Hogyha jobbra mutató nyilat nyomod meg akkor az első koordináta nem változik, viszont a második nő 1-el.
a) teszel a kör köré egy átlátszó színű négyzetet, így az mindig törli a képernyőt, ha csak kicsit mozgatod
b) tenmagad váltod vissza háttérszínűre a pixeleket minden mozgatás után
"Van esetleg valami más megoldás ahol nem fog villódzani a kép?"
Van hát! Paintboxba kell rajzolni és be kell kapcsolni a double buffering-et.
A régi pascalról van szó. SetActivePage -s megoldást megtaláltam én is, de nekem valahogy nem akar működni.
var
page:integer;
...
page=0;
repeat
setactivepage(page);
cleardevice();
{rajzolás}
setvisualpage(page);
page=1-page;
until k='k';
De még így is van villódzás. Elég sok mindent kell kirajzolni, és lassan rajzol.
Két lap kell. Az egyikre rajzolsz a háttérben, majd megjeleníted. Lapot váltasz, razolsz a háttérben lévő lapra, majd megjeleníted azt, és így tovább...
Free Pascalt nem ismerem, de régen Turbo Pascal (DOS) 640x480-as felbontásban csak egy lapod volt, 320x240-es felbontásban kettő.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!