ゲーム本体の処理とデバイス系のソースを分割し、ゲーム側のソースで画像の変数を宣言したいので
ゲーム側のソースで変数を宣言してポインタを渡すようにしてみましたがうまくいきません。
ブレークポイントを使ってデバイス側で確認すると、読み込み用の関数内ではしっかり読み込んでいますが
描画側の関数に渡した変数は空になっています。
どなたかアドバイスお願いします。
VC++2010,DirectXは10です。
↓ゲームのメイン部にする部分です ソースはゲーム側
int DemoApp::GameMain(){
static ID2D1Bitmap *testBit;//画像のポインタ
static int mode = INITIAL;
switch(mode){
case INITIAL:
LoadGr(L"img/uni001.png",testBit);//画像名とポインタを渡しています
mode=MAIN;
break;
case MAIN:
wait();
GetKey();
paint(testBit);
break;
}
return 0;
}
デバイス側のソースのグローバルで宣言したUNIT1を表示させるとうまく行きます。
void DemoApp::LoadGr(TCHAR *text,ID2D1Bitmap *Gr ){
if (SUCCEEDED(hr))
{
// Create a bitmap by loading it from a file.
hr = LoadBitmapFromFile(
m_pRenderTarget,
m_pWICFactory,
text,
0,
0,
&UNIT1//←グローバルで宣言してあります。
);
}
//分割コンパイルのテスト簡易化用↓ テスト終了時に消去
if (SUCCEEDED(hr))
{
// Create a bitmap by loading it from a file.
hr = LoadBitmapFromFile(
m_pRenderTarget,
m_pWICFactory,
text,
0,
0,
&Gr
);
}
}