Ich habe mich nur gefragt, ob irgendjemand für mich etwas Licht darauf werfen könnte. Ich habe C# schon seit Jahren programmiert, aber im System.Drawing-Namespace außer der Bitmap-Klasse habe ich noch nie etwas angefasst und ich habe einige Tutorials verfolgt und etwas Code entwickelt, der funktioniert. Ich entwickle eine 2D Game Engine und der folgende Code ist für die Grafik-Engine, die GDI verwendet. Allerdings verstehe ich einfach nicht, wie dieser Code überhaupt funktioniert. Hier ist es:Wie funktioniert dieser Code? (GDI, C#)
Also, der Hauptteil, der für mich verwirrend ist, ist dies;
Wie wird die Back-Bitmap aktualisiert? und warum wird der Back-Buffer gelöscht und nicht der Front-Buffer?
Außerdem wird die initialize-Methode einmal aufgerufen und die update-Methode wird einmal pro Frame in einer while-Schleife aufgerufen.
Nur für den Rekord: Ich habe einige Zweifel über den Code, den Sie gefunden oder geschrieben als 'game.Form.CreateGraphics();' ist in der Regel eine schlechte Idee, wie das Grafikobjekt puffern. – TaW
Aber warum? Alles, was ich gerade mache, verweist auf das Formulargrafikobjekt? –
Es gibt keine solche Sache. Sie sind (sic!), Einen zu schaffen. Aber du solltest nicht. Es ist das "Paint" -Event, um das zu tun! (Es sei denn, du benötigst eine woanders, weil du Dinge messen möchtest oder __nicht persistente__ Grafik wie eine Gummibandlinie zeichnen willst.) - Außerdem: Der Frontbuffer wird implizit gelöscht, da er nichts enthält, wenn du seine Bitmap erstellst. – TaW