> dann reicht aber einmal start drawing bzw stop drawing und einmal flip buffers?!
definitiv!
da StartDrawing relativ langsam ist, solltest du es in einem durchlauf möglichst nur einmal ausführen.
du musst das dann halt so organisieren, dass du es zu dem zeitpunkt in der schleife machst, wenn es sinnvoll ist.
falls du nochn hintergrundbild hast, das mit nem sprite dargestellt wird,
musst du das vorher machen, und den Mauszeiger macht man natürlich als letztes.
btw. generell ist es praktischer ausschließlich mit sprites zu arbeiten.
erstens sind die wesentlich schneller, und zweitens kannst du vorab in PAINT
oder anderen programmen so schicke buttons malen wie du willst und die dann einbinden.
was das FlipBuffers betrifft, ja, definitiv nur einmal, sonst funktioniert das ganze nicht richtig.
du musst dir deinen screen wie eine zweiseitige tafel vorstellen.
eine seite sieht man, und auf die unsichtbare rückseite kann man malen.
der FlipBuffers-befehl dreht dann die tafel um,
dass man die gerade bemalte sieht, und die andere neu bemalen kann.
damit man nicht durcheinanderkommt ist es am praktischsten,
in der darstellung ganz strikt eine reihenfolge einzuhalten:
ClearScreen(), Darstellen von hinten nach vorne, FlipBuffers()
und in der gesamtschleife ist es am besten, die vorgänge ebenfalls klar zu gliedern:
- Input
also Tastatur und Mausabfrage
- Berechnungen
also Bewegung der spielfiguren (rechnerisch = Variablenveränderungen)
- Darstellung
s.o.
klar, man kann auch alles durcheinanderwürfeln, und oft mag es auch funktionieren,
aber irgendwann blickt man selber kaum noch durch, und wenn dann wirklich mal ein fehler auftaucht,
kann man das projekt nur noch in die Mottenkiste packen.
Menü
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22