Satyria

SDL-Programmierung / Das erste Spiel?

Wir haben inzwischen gesehen, wie Sprites angezeigt werden und wie auf events reagiert werden kann. In dem Vorhergehenden Kurs konnten wir das Sprite mit der Tastatur ansprechen, aber warum nicht auch mit der Maus. Also fragen wir auch das Event der Maus ab und holen uns die Position der Maus. An dieser Position, setzen wir das Sprite.

Wenn nun die Maus bewegt wird, rufen wir auch die Funktion „Mausbewegt“ auf.

In dieser Funktion setzen wir einfach die Position des Sprites gleich der Maus.

Source 10.c; blume.png; sprite1.png

Das war jetzt keine große Kunst… Verändern wir doch etwas diese Zuordnung und mache es etwas „interaktiv“.

Jetzt kommt noch eine Eigenschaft von SDL, es ist ziemlich schnell. Wir bauen noch eine SDL-Funktion in das main ein

Hier habe ich noch ein Delay eingebaut und damit wird das Sprite etwas langsamer.

Source 11.c; blume.png; sprite1.png

Wie ein kleiner Hund läuft unser Sprite der Maus hinterher…

Da wir nun bereits die Kontrolle der Maus mit eingebaut haben, können wir auch dies dazu benutzen eine Art Reaktion auszulösen. Wenn ich hier das Bild anschaue, warum lasse ich nicht eine Biene hier rumfliegen. Und wenn die Biene die Maus erwischt, dann „Aua“.

Das einzige, was wir verändern müssen, ist die Mausbewegt-Funktion.

In einer If-Anweisung vergleiche ich einfach die Positionen der Biene und der Maus. Wenn diese zu ähnlich sind, dann wird einfach herausgegeben, dass die Maus von der Biene gestochen wurde.

Source 12.c; blume.png; sprite2.png