Vector in SFML
-
Hallo zusammen,
ich bin an meinen ersten graphischen Ausgaben mit SFML und versuche mich grade an Snake.Ich hab einen Vector, welcher Elemente der Klasse "Segment" speichert. Dieser beinhaltet ein sf::Rectangle welchem ich neue Koordinaten zuweisen will. Dies funktioniert bei manueller Eingabe einer Zahl, z.B. sf::Vector2f(250,250) wunderbar, nicht jedoch wenn ich die Werte durch einen Funktionsaufruf zuweisen will:
Snakehead.set_last_position(Snakehead.get_position()); // aktuelle Position wird die alte Position Snakehead.set_position(sf::Vector2f(Snakehead.get_position().x, Snakehead.get_position().y - pixel)); // neue Position setzen move_body(); // void Game::move_body() { while(Snakebody.size() == 1) { Snakebody[0].set_position(Snakehead.get_last_position()); // Hier scheint der Fehler aufzutreten break; } }
Hat jemand eine Idee wieso die Zuweisung nicht funktioniert? Die Segmente werden erzeugt und erscheinen an den gewünschten stellen solange sie keine neuen Positionswerte zugewiesen bekommen.
Über eure Hilfe wäre ich dankbar.
-
get_last_position ist doch die alte Position. Warum sollte etwas passieren?
-
Der Schwanz der Schlange folgt dem Kopf. Somit muss die alte Position des Kopfes die neue Position des ersten Körpersegments werden?!