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

18.06.2011, 13:44

[SFML] Sprite dreht dich an einer Ecke und Frage zur Kollisionsabfrage

Hallo,

in meinem Spiel soll sich die Spielfigur (die einem Quadrat ähnelt) drehen können. Ich habe nun mit Sprite.Rotate(-100 * ElapsedTime); hinbekommen, dass er sich dreht, jedoch ist der Drehpunkt eine Ecke des Quadrats, was voll doof aussieht. Könnte man den Drehpunkt nicht irgendwie in die Mitte legen ?

Des Weiteren wollte ich fragen, wie ich eine Kollisionsabfrage mit Rotationen umsetze. Bei einer normalen Kollisionsabfrage würde nämlich eine Ecke aus dem Bildschirm verschwinden, etc..

lg

valentin

Treue Seele

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

2

18.06.2011, 13:55

SetCenter(x,y); ist wohl das, was du suchst.
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

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

3

18.06.2011, 17:49

Oder SetOrigin ( x , y ) ; bei er SFML2 ;)

MfG Stazer

4

18.06.2011, 17:53

Und wie mach ich das mit SetCenter ??

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

18.06.2011, 17:57

Auf die SFML Doku gehen, dort die Doku lesen, Notfalls Google anwerfen, per dict notfalls setCenter übersetzen oder, wenn der englische Begriff verstanden wird, überlegen: was könnte so eine Funktion machen?

edit: weil ich doch so ein weiches Herz habe: http://www.sfml-dev.org/documentation/1.…95831d216802f61
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

6

18.06.2011, 18:00

Ich weiß, was die Funktion macht, was sie auf deutsch heißt, etc..

Ich würde die Funktion gerne so nutzen:
SetCenter(x, y); // so ist es normal
SetCenter(x_groesse_des_sprites / 2, y_groesse_des_sprites / 2); // so wäre es die Mitte

Nur wie kriege ich die größen raus ohne in Paint nachzuschauen. (ich will ja eine universale Lösung!)

lg

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

7

18.06.2011, 18:07

Auch hier wäre meine Aussage in Bezug auf die Doku treffend:
http://www.sfml-dev.org/documentation/1.…7393851ae026f7e
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

8

18.06.2011, 18:14

krieg ich da x oder y zurück?

lg

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

9

18.06.2011, 18:17

Ok, für dich: auf den link klicken. WAS steht denn da als Return bei der Funktion getSize()? Vector2f. Was ist Vector2f? Eine Klasse? Gute Frage, klicken wir doch mal auf Vector2f. Tatsächlich, es ist eine Klasse. Was mach ich aber nun damit? Hmm. Mal die Klasse näher angucken.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

10

18.06.2011, 18:23

Sorry aber ich versteh das mit dem Vektor dings nicht ._.

Werbeanzeige