我想在它们的位置而不是任何其他点旋转我的 2D 精灵,但我在使用该功能时遇到了问题。
我看到人们以这种方式使用 D3DXMatrixTransformation2D(不包括缩放):
D3DXMATRIX mat;
D3DXVECTOR2 center(sprite.width / 2, sprite.height / 2);
D3DXVECTOR2 pos(sprite.x, sprite.y)
D3DXMatrixTransformation2D(
&mat,
NULL,
NULL,
NULL,
¢er,
sprite.rotation,
&pos);
但是这样做我的精灵围绕一些奇怪的点旋转了一个laaaaarge圆圈。
我尝试并尝试了这个解决方案,但在我进一步操作实体坐标和其他东西时感觉它有一些副作用。
D3DXVECTOR2 pos(sprite.x + (sprite.width / 2), sprite.y + (sprite.height / 2))
D3DXMatrixTransformation2D(
&mat,
NULL,
NULL,
NULL,
&pos,
sprite.rotation,
NULL);
有什么我想念的吗?