Hallo Community!
Habe die letzten Tage die Engine meines Spieles von GDI auf Diret3D umgestellt und es funzt alles wunderbar. Nur habe ich ein Problem:
Es werden zur Laufzeit Objekte generiert und verwaltet sowie berechnet, die nicht nur via Sprite angezeigt, sondern auch gedreht werden sollen. Nur das mag Direct3D scheinbar nicht.
Ich habe versucht, bei "Sprite.Draw2D" sowohl das Center als auch die Drehung (in Radians? Also (Pi/180)*Winkel?) anzugeben und dort wurde dann der Sprite um die linke obere Ecke gedreht, schnitt den angegebenen Punkt und besaß die Drehung, die angegeben wurde. Nur das Center war das vollkommen falsche.
Habe auch versucht, die Matrix des Sprites zu ändern und die Z-Achse zu drehen (Z-Achse müsste es ja sein, oder?) mit Sprite.Transform.RotateZ(Winkel). Ändert nur leider auch nichts
Habe stundenlang Google gequält, wenige Lösungen gefunden und noch weniger, die für mich nachvollziehbar waren. Letztlich auch keine, die gefruchtet hat. Was nicht daran liegt, dass die meisten Code-Beispiele im Netz für VB amüsanterweise in C# geschrieben wurden (etwas C# verstehe ich auch noch).
Hätte denn jemand eine Idee, wie ich Sprites in Direct3D rotieren lassen kann?
(Ich suche keinen C&P sondern eine Anleitung/Tut, weil ich doch durchaus etwas lernen möchte ;))
Danke schonmal im Voraus, kann jede Hilfe brauchen
MfG,
X-Zat / Momo
Habe die letzten Tage die Engine meines Spieles von GDI auf Diret3D umgestellt und es funzt alles wunderbar. Nur habe ich ein Problem:
Es werden zur Laufzeit Objekte generiert und verwaltet sowie berechnet, die nicht nur via Sprite angezeigt, sondern auch gedreht werden sollen. Nur das mag Direct3D scheinbar nicht.
Ich habe versucht, bei "Sprite.Draw2D" sowohl das Center als auch die Drehung (in Radians? Also (Pi/180)*Winkel?) anzugeben und dort wurde dann der Sprite um die linke obere Ecke gedreht, schnitt den angegebenen Punkt und besaß die Drehung, die angegeben wurde. Nur das Center war das vollkommen falsche.
Habe auch versucht, die Matrix des Sprites zu ändern und die Z-Achse zu drehen (Z-Achse müsste es ja sein, oder?) mit Sprite.Transform.RotateZ(Winkel). Ändert nur leider auch nichts
Habe stundenlang Google gequält, wenige Lösungen gefunden und noch weniger, die für mich nachvollziehbar waren. Letztlich auch keine, die gefruchtet hat. Was nicht daran liegt, dass die meisten Code-Beispiele im Netz für VB amüsanterweise in C# geschrieben wurden (etwas C# verstehe ich auch noch).
Hätte denn jemand eine Idee, wie ich Sprites in Direct3D rotieren lassen kann?
(Ich suche keinen C&P sondern eine Anleitung/Tut, weil ich doch durchaus etwas lernen möchte ;))
Danke schonmal im Voraus, kann jede Hilfe brauchen
MfG,
X-Zat / Momo