Guten Tag Community,
Ich habe jetzt seit mehreren Tagen das Problem das sich meine Munition welche ich aus einer Waffe schießen möchte um mehrere 100px verschiebt ich weiß jedoch nicht wieso.
Was soll passieren? Nach dem links klick soll die Waffe Munition abfeuern in Richtung der Maus Position.
Ich habe auch schon das Forum durchsucht und ein paar nützliche Informationen gefunden aber keine davon funktioniert...
Mein bisheriger Code:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
sf::Vector2f weaponPos = weaponSprite->getPosition();
sf::Vector2i mousePos = sf::Mouse::getPosition();
float positionX = weaponPos.x;
float positionY = weaponPos.y;
float destinationX = (float)mousePos.x;
float destinationY = (float)mousePos.y;
float moveVectorX = destinationX - positionX;
float moveVectorY = destinationY - positionY;
float squareX = moveVectorX*moveVectorX;
float squareY = moveVectorY*moveVectorY;
float distance = std::sqrt(static_cast<float>(squareX + squareY));
float moveX = moveVectorX / distance;
float moveY = (moveVectorY / distance);
bulletSprite->move(moveX, moveY);
|
Vielleicht weiß ja einer von euch was ich falsch mache : )