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

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

1

19.07.2011, 20:44

Objekt in Rotationrichtung bewegen (SFML)

Hallo Leute,

Ich möchte ein Sprite mit den Tasten A und D drehen und dann
mit den Tasten W und S Vorwärts und Rückwärts bewegen.
Das Problem ist, dass ich das Sprite dann in einem bestimmtem Winkel bewegen muss,
und ich habe einfach keine Ahnung
wie ich das machen soll.

Hoffentlich hat einer von euch eine Idee.

Gruß derolli

2

19.07.2011, 21:11

Ganz einfach:

x += speed * cos(alpha);
y += speed * -sin(alpha);

Der winkel muss in Bogenmaß angegeben werden.
Das geht so: Grad * (PI / 180)

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

3

19.07.2011, 21:13

Schau mal hier.
"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?

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

4

19.07.2011, 21:57

Danke .:!Batzer!:.
werde ich gleich mal ausprobieren

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

5

20.07.2011, 13:36

Hatt super funktioniert, Danke!

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

6

21.07.2011, 12:51

Mehrere Rotationspunkte in einem Sprite (SFML)

Ich habe noch ein Problem, und zwar möchte ich in einem durchlauf,
einem Sprite 2 rotationspunkte geben und dann jeweils um diesen drehen.
Doch aus irgendeinem Grund dreht sich das Sprite immer nur um einen
dieser beiden punkte.

Was kann ich machen?

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

7

21.07.2011, 13:13

Doch aus irgendeinem Grund dreht sich das Sprite immer nur um einen
dieser beiden punkte.

Das liegt daran, dass die alte Rotation immer überschrieben und erst beim Zeichnen berücksichtigt wird. Du kannst dir ja mal die Drawable.cpp Datei anschauen ;)

Wofür brauchst du die zweifache Rotation? Du könntest sie selbst berechnen, das ist allerdings etwas schwieriger.
"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?

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

8

21.07.2011, 13:39

Es gibt einen Spieler und der hält ein Schwert in der Hand (Habe auch einen Screenshot im Anhang)
Wenn ich den Spieler drehe muss sich das Schwert ebenfalls um den Mittelpunkt des Spielers drehen.
Wenn der Spieler das Schwert aber bewegen soll, muss sich das Schwert um seinen Griff drehen.

Das ist das Problem.

Was könnte ich denn da machen?
»derolli« hat folgendes Bild angehängt:
  • Screenshot.jpg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »derolli« (21.07.2011, 15:10)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

9

21.07.2011, 17:33

Du setzt das Center vom Schwert auf den Griff, die Position des Schwerts auf die globale Position der Hand (die bekommst du über die TransformToGlobal Methode) und die Rotation des Schwerts auf die Rotation des Menschen+die Rotation des Schwerts bei der Drehung.

Hoffe das ist verständlich genug :pinch:
"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?

derolli

Treue Seele

  • »derolli« ist der Autor dieses Themas

Beiträge: 144

Beruf: Student

  • Private Nachricht senden

10

21.07.2011, 19:00

Die Funktion kannte ich noch nicht.
Funktioniert Perfekt!
Vielen Danke :)

Werbeanzeige