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

1

10.04.2012, 15:25

SFML Sprite um den Mittelpunkt drehen

Hallo Leute

Ich habe in SFML versucht von einem Sprite (Pacman) die rotation zu ändern aber das Sprite dreht sich leider immer um die linke Obere Ecke
Da ich auch noch SubRect für die Animation benutze, erweist sich das Handhaben als besonders schwierig...
Jemand eine Idee ( außer SetCenter :P ) ?

valentin

Treue Seele

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

2

10.04.2012, 15:37

Was ist denn das Problem mit SetCenter() ? Bzw. warum willst du es nicht benutzen?

//edit: Du könntest das Sprite natürlich auch so drehen, und dann verschieben, was allerdings nicht sonderlich sinnvoll wäre, in Anbetracht der Tatsache, dass man auch einfach SetCenter nutzen könnte...
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

3

10.04.2012, 15:41

Hm ok Setcenter aber iwie versteh ich die Funktionsweise von set center habe z.B ich habe ein Sprite (wohl gemerkt eine Subrect-Animation) 300x300 Pixel wie
stelle ich das an ?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

10.04.2012, 15:43

Hm ok Setcenter aber iwie versteh ich die Funktionsweise von set center habe z.B ich habe ein Sprite (wohl gemerkt eine Subrect-Animation) 300x300 Pixel wie
stelle ich das an ?


Super, Dann gibts ja keine Fragen mehr!
@D13_Dreinig

5

10.04.2012, 15:45

Nicht * ^^ vergessen

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

6

10.04.2012, 15:46

Du setzt das Center auf den Mittelpunkt des oberen linken Frames. Also nur die hälfte der Breite und Höhe des Subrects.
Wenn du das Sprite positionieren willst musst du auch den Mittelpunkt an SetPosition übergeben. Also den alten Positonskoordinaten das Center vom Sprite hinzuaddieren(falls du nichts skalierst).
"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?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

10.04.2012, 15:47

Mit SetCenter gibts du den Ursprung an, um den rotiert werden soll. In deinem Fall eben die Mitte eines Frames.
@D13_Dreinig

8

10.04.2012, 15:59

Ah danke musste erstmal die ganzen Collisionen umschreiben aber es funktioniert :)

Werbeanzeige