Hallo,
ich habe ein Problem wo ich nicht weiterkomme, vielleicht weiss es einer von euch. Und zwar programmiere ich gerade ein 2d Spiel mit Sfml. Das Spiel ist relativ simpel, der Player ist von der Seite zu sehen und kann nach Links und rechts gehen. Über eine dritte Taste kann er Schiessen. Leider bekomme ich es nicht hin, dass Die Kugel in die Richtung fliegt, in der der Spieler schaut. Im Netz gibt es Tutorials aber immer nut in eine Richtung
hier sind ausschnitte aus meinem Code:
Hier der code für die Kugel
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
if(isFiring == true){
if(plr.plrSprite.getScale().x <=0)
{
newBullet.bltSetPos(Vector2f(plr.plrSprite.getPosition().x + 60, plr.plrSprite.getPosition().y - 100));
}
if(plr.plrSprite.getScale().x >=0)
{
newBullet.bltSetPos(Vector2f(plr.plrSprite.getPosition().x + 60, plr.plrSprite.getPosition().y + 100));
}
bulletVec.push_back(newBullet);
isFiring = false;
|
Und hier ist das Problem:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
|
for (int i = 0; i < bulletVec.size(); i++)
{
bulletVec[i].bltDraw(window);
bulletVec[i].bltFire( 0, 10);
}
|
In der bltFire ist die Funktion move, sodass die Kugel mit der Geschwindigkeit 10 fliegt. Aber halt nur in die eine Richtung. Ich suche ein Codeschnipsel der der Kugel sagt, dass sie in die Richtung fliegen soll, in der der Spieler schaut.