描画について
今DirectXでゲームを作ろうとしてるものですが、描画しようと思い打ったのですが位置が思い通りにならない(描画が範囲を下回っている)描画されなくて困っています。ソースはこれです。
HRESULT Render(void)
{
g_pD3DDevice->Clear(0, NULL,NULL, D3DCOLOR_XRGB(0, 255, 255), 1.0f, 0);
// シーンの描画開始
if (SUCCEEDED(g_pD3DDevice->BeginScene()))
{
// スプライトの描画開始(アルファ・ブレンディング有効&デバイス状態を保存も復元もしない)
pSprite->Begin(D3DXSPRITE_ALPHABLEND | D3DXSPRITE_DONOTSAVESTATE);
// シーンの描画(2D画像の描画)
RECT SrcRect = { 0,0,640,480 }; // テクスチャ内でスプライトに使う範囲(0,0)-(512,64)
D3DXVECTOR3 Center(320,240,0); // スプライト内の中心の位置(256,32,0)
D3DXVECTOR3 Position(320,240,0); // スプライトを表示する位置(0,0,0)+(320,240,0)
static int alpha=0;
pSprite->Draw(pTexture.m_texture, // スプライトに使うテクスチャ
&SrcRect, // 描画範囲
&Center, // スプライト内の中心の位置
&Position, // スプライトを表示する位置
D3DCOLOR_ARGB(alpha>255?511-alpha:alpha,255,255,255));
//alpha++; alpha &= 0x1FF;
//pTexture.m_colorKey);
// スプライトの描画終了
pSprite->End();
// シーンの描画終了
g_pD3DDevice->EndScene();
}
// シーンの表示
return g_pD3DDevice->Present(NULL, NULL, NULL, NULL);
}どうしたらきちんとした位置に描画できるのでしょうか。
お礼
お礼が遅くなりました なるほど、確かにその間に描画がなければ、そこまで重たくもなりませんね >その際、関数化した方がソースが簡略化されますね。 質問したのも実は、関数化出来るんじゃないかと考えたからなんですよ ご回答ありがとうございました