Alpha IIMedlem sedan maj 20002 993 inlägg Jag håller på med ett rymdspel. Det finns en bakgrund som är 600x1200 och ska åka neråt så att det ser ut som om man åker framåt, men när den gör det så blinkar den! Hur undviker man det?
PS.
Är det nån som är bra på att måla och har lust att rita en rymdfärja (30x30)?
------------------
Alpha II
[Ahhhaaa]
PhOrPhErMedlem sedan feb. 20002 300 inlägg Det här har jag aldrig gjort själv utan är sånt som jag läst och antar att jag har förstått... 
Dubbelbuffra bilden. Dvs. Samtidigt som du visar en bild på skärmen så ritar du upp nästa i minnet och växlar sen fram bilden i minnet till skärmen och ritar upp en ny bild i minnet.. Typ.. 
Pekare borde vara bra att använda till detta tycker jag...
Fast jag vet inte ens om det finns pekare i delphi då jag inte använt det överhuvudtaget. 
Kanske finns någon som kan förklara bättre? 
------------------
- Erik Hellström -
http://3d.burken.nu
WiNNeMedlem sedan maj 2000192 inlägg Det är just dubbelbuffring du ska göra men det räcker inte, att rita grafik direkt i windows är ingen bra idé, jag har själv använt DirectX då det är mycket snabbare och har inbyggt stöd för dubbelbuffring. Kolla på http://www.delphi-jedi.org/ när den kommer upp igen.
------------------
winne.net
Alpha IIMedlem sedan maj 20002 993 inlägg Jag har nu löst det!
Jag skapade en TBitMap som läste in bilden och var hundrade millisikund ritades BitMapen ut på en TPaintBox, 5 pixlar längre ned!
/DaNiEL
jtMedlem sedan juni 2000350 inlägg "
Det är just dubbelbuffring du ska göra men det räcker inte, att rita grafik direkt i windows är ingen bra idé
"
Hur funkar det i DirectX då, det är ju windows och grafik.
Här finns några ganska snygga saker gjorda i delphi har för mig att de flesta inte använde OpenGl eller DirectX http://homepages.borland.com/ccalvert/Contest/FlameWinners.html
WiNNeMedlem sedan maj 2000192 inlägg Med att rita direkt i windows menar jag att rita med TCanvas och liknande, du får ingen dubbelbuffer, ingen synkning mot monitorn och ingen kontroll över operativsystemet. Vilket innebär att om något program i bakgrunden plötsligt får för sig att nu ska jag jobba lite så laggar ditt spel ner. Windows kan ibland få sånt för sig, särskillt om du kör i ett fönster. Jag har inte kollat på OpenGL men DirectX var inte så svårt att lära sig som man tror och det finns konverterade API headers (från c++) för Delphi och massvis av exempel på nätet.
Ska man göra nåt som lite mer seriöst ut är det bara det som gäller.
------------------
winne.net
Testa med GLUT (OpenGL) eller DirectX.
Det brukar funka bra om man skriver glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA); du får översätta det till delphi men ändå.
------------------
Cyklonit
Alpha IIMedlem sedan maj 20002 993 inlägg Öhhh... jaha... jag fattar inget men finns det nått kod exempel???
------------------
Alpha II
[Ahhhaaa]
Kolla på Http://NeHe.GameDev.Net
eller på Http://Nate.Scuzzy.Net
------------------
Cyklonit