C
Das mit der Z-Achse funktioniert zwar halbwegs - aber irgendwie auch nicht wirklich wie gedacht. Das Sprite dreht sich dann halt zweidimensional und nicht um seine Y-Achse.. Edit @Vorposter: Mit D3DXMatrixTransformation2D() kann man das Ding ja auch nicht um seine Y-Achse drehen
Eventuell liegt es daran dass ein Sprite keine Y-Achse hat um die man es drehen kann?
Dann müsse es so in etwa gehen:
D3DXMATRIX mat;
D3DXVECTOR3 cen(64, 32, 0);
D3DXVECTOR3 pos(100, 50, 0);
D3DXVECTOR3 y(0.0, 1.0, 0.0);
D3DXQUATERNION quat(0, 0, 0, 0);
D3DXQuaternionRotationAxis(&quat, &y, 0.1);
D3DXMatrixTransformation(&mat, 0, 0, 0, &cen, &quat, &pos);
Funktioniert allerdings auch nicht wie gewünscht, hier werden Teile des Sprites einfach ausgeblendet. Wenn ich statt "D3DXQuaternionRotationAxis()" einfach einen Wert in "quad" setze funktioniert das zwar so mehr oder weniger aber leider verstehe ich nicht was das für eine Einheit sein soll.. (Grad? Radiant? Passt irgendwie beides nicht so richtig..)
D3DXQuaternionRotationAxis() wird also scheinbar benötigt, funktioniert aber nicht..