具体的には当たり判定を回転させたいと思っております。
D3DXMatrixRotationX()関数を使用しているのですが、画像が表示されなくなってしまいます。
D3DXMatrixRotationX()関数の部分をコメント分にすると、回転はしませんが表示されます。
OSは[Windows Vista]で開発環境は[Microsoft Visual C++ 2008 Express Edition]です。
プログラムは該当場所と思われる部分のプログラムのみです。
LPDIRECT3DDEVICE9 D3DDevice;
LPD3DXSPRITE D3DXSprite;
LPDIRECT3DTEXTURE9 tex;
とグローバルで定義してあり初期化等してあります。
VOID Render_T(VOID);
HRESULT Render_O(VOID)
{
// シーンの描画開始 if(SUCCEEDED(D3DDevice->BeginScene())) {[pre] // シーンの描画開始(スプライトの描画) D3DXSprite->Begin(D3DXSPRITE_ALPHABLEND); // 下の関数へ Render_T(); // シーンの描画終了(スプライトの描画) D3DXSprite->End(); // シーンの描画終了 D3DDevice->EndScene(); }return D3DDevice->Present( NULL, NULL, NULL, NULL);[/pre]
}
VOID Render_T(VOID)
{
D3DXMATRIX mr; D3DXVECTOR3 pos(120.0F,410.0F,0.0F); static FLOAT counter = 0; FLOAT rot = counter * 3.14F / 180.0F; counter += 1; D3DXMatrixRotationY(&mr, D3DXToRadian(rot)); D3DXSprite->SetTransform(&mr); D3DXSprite->Draw(tex, NULL, NULL, &pos, D3DCOLOR_XRGB(255,255,255));}
とプログラミングしておりますがD3DXMatrixRotationY関数の使い方が間違っているのでしょうか?
それともこの部分以外が違っているのでしょうか?
何か他にもミスがあったらご指摘お願いします。
よろしくお願いします。