ローディング画面をマルチスレッドで動かせません。
DirectXとC++をVisualStudio2010でゲームを制作しています。
ローディング画面を動かせるようにマルチスレッドにしているんですが、パソコンによってはローディング画面から動かなくなってしまいます。(開発環境では、問題なく動きます)
スレッドの呼び出し部分は以下のようになっています。
HANDLE thread;
CScene gamen; //タイトル画面やメインゲーム画面などのシーンを管理
void Loading()
{
SetDrawLoading( true );
delete gamen;
gamen = new CTitleGamen();
thread = (HANDLE)_beginthreadex(NULL,0,DrawLoading,NULL,0,NULL);
gamen->LoadData(); //クラス内の画像や音楽データを読み込み
effect->SetDrawLoading(false);
WaitForSingleObject( thread, INFINITE );
CloseHandle(thread);
}
マルチスレッド部分は以下のように、
drawLoading変数がtrueの間、ローディング画面を描画するようにしています。
D3DXMATRIX m_world;
unsigned __stdcall DrawLoading(void *p){
LPDIRECT3DTEXTURE9 pTexture;
D3DXCreateTextureFromFileEx(m_pD3DDevice, TEXT("texture.png"),16, 16, 0, 0,
D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_DEFAULT,
D3DCOLOR_XRGB(255,255,0), NULL, NULL, &pTexture))
do{
m_pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
D3DCOLOR_XRGB(0,0,0), 1.0f, 0);
if( SUCCEEDED( m_pD3DDevice->BeginScene() ) ) {
D3DXMatrixIdentity( &m_world );
m_pD3DDevice->SetTransform( D3DTS_WORLD, &m_world );
m_pSprite->Begin( D3DXSPRITE_ALPHABLEND );
m_pSprite->Draw( pTexture, NULL, NULL,
&D3DXVECTOR3( timeGetTime()%800), 550, 0 ), 0xffffffff );
m_pSprite->End();
m_pD3DDevice->EndScene();
}
m_pD3DDevice->Present( 0, 0, 0, 0 );
}while( effect->GetDrawLoading() );
pTexture->Release();
_endthreadex(0);
return 0;
}
どなたか、ご教授お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ログインIDの一発入力? 5 2023/07/07 12:30
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
- Excel(エクセル) スプレッドシートの関数 2 2022/11/16 17:36
- Visual Basic(VBA) C3とC4のセルに、Visual basicで実行した時入力した値をC3に表示させ、その後に、C3に 1 2023/07/14 09:43
- Excel(エクセル) エクセル2019の関数を教えてください。 8 2022/12/16 12:45
- デスクトップパソコン WIN10の再クリーンインストールが出来ない 12 2022/12/06 15:29
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Excel(エクセル) エクセルのオートフィルについて質問があります。 2 2022/04/08 22:31
- フリーソフト パソコンで、フォルダの最下層を探索してフォルダ名に連番を挿入するアプリを探しています。 例: アルフ 2 2023/06/09 22:04
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# ラバーバンドの描画を快適に...
-
LineToやMoveToにて描画した線...
-
vb.netでテキストボックス内の...
-
VB6,リストボックスの特定行の...
-
CDC(LineTo)で描画した線を透過...
-
当たり判定
-
SHGetFileInfoでアイコンが取得...
-
C# ゲーム作成 FPSと描画...
-
画面全体を再描画させたい
-
NVIDIAのシェーダーキャッシュ
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
エクセルのコントロールツール...
-
コントロールの書式設定で、“コ...
-
エクセルで作った新しいウイン...
-
他のアプリケーションの終了処理
-
Excelの上下を固定したい
-
VBA .Value=.Value ?
-
コンテキスト依存とは?
-
始点、終点の二つの座標と半径...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
NVIDIAのシェーダーキャッシュ
-
VB6,リストボックスの特定行の...
-
[VB.net] DataGridViewの列ヘッ...
-
word
-
UpdateData( FALSE); による文...
-
TextBoxに文字を書いても表示さ...
-
VC++プログラムをつかったBMP画...
-
MFCでOnPaintのタイミング
-
エクセルでガンチャートを作成...
-
InvalidateRectの使い方について
-
FlexGridの一部のみ表示を更新...
-
VB.NETでPictureBoxへの描画に...
-
MFCのタイマーのつかい方を教え...
-
CStaticコントロールの静的イメ...
-
VBAにGDI+を参照させる方法
-
画面全体を再描画させたい
-
Labelの文字をスクロールする際...
-
Form1 Load で実行されない。
-
panelのスクロール表示について
-
CScrollViewの使用方法について
おすすめ情報