Directx 9 を使用して C++ で小さなゲームを作成しています。いくつかのチュートリアルを読んで、スプライト オブジェクトを描画して移動することができます。しかし、回転させたいと思います。
void D3DGraphics::DrawSprite(LPDIRECT3DTEXTURE9 &texture,ID3DXSprite* pSprite, D3DXVECTOR3* pos, D3DXVECTOR3* dim ){
pDevice->Clear( 0,NULL,D3DCLEAR_STENCIL,D3DCOLOR_XRGB(0,0,0),0.0f,0 );
D3DXMATRIX matrix;
D3DXMatrixRotationX(&matrix, 0.05f);
pSprite->Begin(D3DXSPRITE_ALPHABLEND);
hresult= pSprite->SetTransform(&matrix);
hresult= pSprite->Draw(texture, NULL, dim, pos, 0xFFFFFFFF);
pSprite->End();
}
settransform の部分を削除すると、完全に機能します。hresult をチェックしたところ、S_OK が返されました。