Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

11

09.08.2010, 20:48

okay du hast recht. ist wohl eine eigenheit die mit dem zeichnen des shapes zusammenhängt.
erzeuge das objekt mit der position 0|0 und benutz danach setPosition. dann funktionierts.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

12

11.08.2010, 18:18

Ja, daran hatte ich auch schon gedacht:

Zitat

Natürlich könnte ich auch alle Objekte einfach an Position 0,0 initialisieren und dann entsprechend verschieben. Aber, wenn das die "richtige" Lösung ist, dann frage ich mich, warum es dieses System mit den lokalen Koordinaten gibt. Denn der Vorteil davon will sich mir nicht erschließen. Dann könnte man es ja auch einfach so machen, wie bei Sprites, wo bei der Initialisierung gar keine Position vorgegeben wird.


Kann mir jemand den Nutzen erklären, warum Shapes mit lokalen Koordinaten arbeiten? Das hat für mich derzeit überhaupt keinen Vorteil gegenüber absoluten Koordinaten.

Dann noch eine weiterführende Frage (oder zwei):
Sind Shapes überhaupt das geeignete Mittel für diesen Zweck? Wie realisiert ihr solche einfachen Formen, wie Linien, Kreise und Rechtecke?

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

13

11.08.2010, 20:01

das ist genau das richtige für linien, kreise und rechtecke.
schau dir mal an wie sf::shape aufgebaut ist. eigentlich übergibt man der klasse die positionen einzelner punkte. die methode sf::Shape::Circle macht im grunde das gleiche... ich kann das jetzt nicht einfach erklären, vielleicht weißt du aber schon was ich meine. man hätte das ganze ein bisschen besser umsetzen können, das stimmt. es ist aber jetzt so und es ist kein beinbruch den kreis bei 0|0 zu initialisieren oder?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

14

12.08.2010, 17:17

Wie Shapes funktionieren und was sf::Shape::Circle macht, ist mir klar. Nur finde ich die Umsetzung tatsächlich etwas seltsam. Natürlich ist es kein Problem, den Kreis bei 0|0 zu initialisieren. Dann werde ich mich damit abfinden, dass sf::Shape einfach etwas unschön aufgebaut ist.

Werbeanzeige