Origem do sprite C # directx

Eu tenho esse problema quando minha origem de rotação do Sprite é corrigida no canto superior esquerdo da janela (o mesmo comsprite.Draw esprite.Draw2D) De qualquer maneira, se eu mudar o centro de rotação, ele ainda estará no canto superior esquerdo. Eu preciso do sprite para girar em torno do seu eixo Z.

Editar: Eu tentei isso:

    hereMatrix pm = Matrix.Translation(_playerPos.X + 8, _playerPos.Y + 8, 0);
    sprite.Transform = Matrix.RotationZ(_angle) * pm;
    sprite.Draw(playerTexture, textureSize, new Vector3(8, 8, 0), new Vector3(_playerPos.X, _playerPos.Y, 0), Color.White);

Mas isso não parece funcionar bem ...

questionAnswers(2)

yourAnswerToTheQuestion