Damit kannst du "Richtungen" angeben, stell dir einen Vektor als Pfeil vor. Der kann z.B. so aussehen:
vektor(1, 1)
Damit hättest du einen Vektor der in die Richtung x = 1 y = 1 zeigt. Das kannst du jetzt benutzen um deine Kugel zu verschieben. Heißt (kugel.position = (0|0)):
kugel.position+vector
= kugel.position.x+vektor.x, kugel.position.y+vektor.y
Und wenn du dann mit der Position zeichnest sollte sich deine Kugel sich jetzt bei 1|1 befinden. So machst du das dann über mehrere Frames und schon bewegt sich deine Kugel. Du kannst dir ja mal
das angucken. Am besten schreibst du dir für Vektoren eine Klasse oder nimmst eine fertige (Google).
Man kann damit natürlich auch noch mehr machen (als Position benutzen anstatt Verschiebung, multiplizieren, subtrahieren, ...).
Etwas erweitert sehe das dann so aus:
|
Quellcode
|
1
2
3
4
5
6
7
|
Schuss.position = vec2(10, 10); // Spieler steht bei "10|10"
Schuss.richtung = vec2(1, 0); // Spieler schießt auf der x-Achse positiv (nach rechts)
Schuss.geschwindigkeit = 100; // Pixel pro Sekunde
update(){
Schuss.position = Schuss.position+((Schuss.richtung*Schuss.geschwindigkeit)/fps); // durch fps damit man eine flüssige Bewegung bekommt
}
|