C++ sprite bewegen?
Hallo ich wollte nur mal fragen wie man mit C++ sprite bewegt also dass die z.b. Von links nach rechts bewegen lässt.
Mit freundlichen Grüßen
Euer
Flo
3 Antworten
Kommt drauf an was du für die Sprites benutzt. Mit SFML kannst du einfach Sprite.move(x, y); machen.
Jo.
Einfach in deinem Main-Loop ein
if( w_pressed ) { Sprite.move(0,1) }
Dann geht er jeden Tick, wenn du gerade W drückst, einen Pixel nach vorne.
(Natürlich musst du die Variable w_pressed auf false setzen wenn w nicht gedrückt ist, und auf true, wenn w gedrückt ist).
Das ist nichts, was für C++ spezifisch ist, sondern etwas, das für die verwendeten Grafikbibliotheken spezifisch ist. Soweit ich weiß, gibt es keine, die für C++ so typisch ist, dass man sie als "die" C++-Grafikbibliothek bezeichnen könnte.
Für eine Bewegung eines Sprites ruft man diejenigen Bibliotheksmethoden auf, die ein Sprite von einer Stelle an eine andere bewegen, wie in jeder anderen Programmiersprache auch.
Oder man implementiert das selbst, dann muss man wissen, wie man einzelne Pixel ansteuert. Das würde aber bedeuten, das Rad neu zu erfinden, und lohnt sich nur, wenn man dabei ist an einer Grafikbibliothek mitzuentwickeln, oder ein Spiel für eine sehr primitive Konsole zu entwickeln (solche Konsolen kriegt man im Handel nicht mehr).
Indem man es immer wieder an einer neuen Stelle zeichnet. Damit das ohne Flackern läuft, wird üblicherweise in einen unsichtbaren Hintergrundpuffer gezeichnet. Nachdem alles gezeichnet wurde, wird der Hintergrundpuffer sichtbar gemacht.
Für Grafik gibt's (unter Windows) verschiedene Technologien wie GDI(+), DirectX, OpenGL.
Also man muss jeden Schritt einzeln machen also ich meinte auch wenn man z.b. W drückt geht man ein Schritt nach vorne.