ページ 11

DXで画像が表示されません

Posted: 2011年7月31日(日) 02:48
by x_kai
DXを使って画像を表示させようと思ったのですが、
なぜか、1つだけしか表示されません。

コード:

#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){

        //----------------------
        //  初期化・設定
        //----------------------
        ChangeWindowMode(TRUE);             //ウィンドウモード

        DxLib_Init();                       //DXLib 初期化
        SetDrawScreen(DX_SCREEN_BACK);      //裏画面処理

        //----------------------
        //  ロード/変数の宣言
        //----------------------
        int My,En;
        My = LoadGraph("img/img_my.png");   //自分の画像をロード
        En = LoadGraph("img/img_en.png");   //敵兵の画像をロード

        int My_x, My_y;                     //自分の画像の位置
            My_x = 100;                     //自分の画像の位置 x
            My_y = 100;                     //自分の画像の位置 y
    
        int En_x, En_y;                     //敵兵の画像の位置
            En_x = 200;                     //敵兵の画像の位置 x
            En_y = 200;                     //敵兵の画像の位置 y
        
        //----------------------
        //  ループ処理
        //----------------------
        for(;;){
        
            //-------------------
            //  ループ処理 初期化
            //-------------------

            //メッセージ処理
            if(ProcessMessage() != 0){ break; }

            //Escが押されたらループを抜ける
            if(CheckHitKey(KEY_INPUT_ESCAPE) == 1){ break; }

            //画面の初期化
            ClearDrawScreen();    
               
            //-------------------
            //  ここから処理
            //-------------------

            DrawGraph(My_x, My_y, My, TRUE);       //画像の出力
            DrawGraph(En_x, En_y, En, TRUE);       //画像の出力
            
            ScreenFlip();
        }

        DxLib_End();
        return 0;
}
また、コレを実行すると何故かフリーズしてしまいます。
何かエラーが有るはずなのですが、無知なものでわかりません。

分かる方はぜひ教えて下さい!

Re: DXで画像が表示されません

Posted: 2011年7月31日(日) 11:46
by softya(ソフト屋)
実行してみましたが、こちらでは凍結しませんね。
とりあえず、実行時に出来るLog.txtの内容を教えて頂けませんか?
あとDXライブラリのバージョンとお使いのビデオカードやDirectXのバージョンなどの情報が欲しいです。

Re: DXで画像が表示されません

Posted: 2011年7月31日(日) 12:23
by x_kai
softya(ソフト屋) さんが書きました:実行してみましたが、こちらでは凍結しませんね。
とりあえず、実行時に出来るLog.txtの内容を教えて頂けませんか?
あとDXライブラリのバージョンとお使いのビデオカードやDirectXのバージョンなどの情報が欲しいです。
Log.txt:
0:システムの情報を出力します
2: DXライブラリ Ver3.05f
3: 論理プロセッサの数 : 4
5: OS Windows7 ( Build 7601 Service Pack 1 )
107: CPU動作速度:大体2.37GHz
108: MMX命令を使用します
110: SSE命令が使用可能です
111: SSE2命令が使用可能です
113: CPUベンダ:GenuineIntel
120: CPU名:Intel(R) Core(TM) i5 CPU M 450 @ 2.40GHz
124:COMの初期化... 成功しました
152:メモリ総量:2994.67MB 空きメモリ領域:1125.76MB
154:タイマーの精度を検査します
155:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
157: パフォーマンスカウンターを使用します タイマー精度 : 2337.939000 KHz
159: ソフトの二重起動検査... 二重起動はされていませんでした
164:ウインドウクラスを登録します... 登録に成功しました
167:フルスクリーンモード用のウインドウを作成します
196:ウインドウの作成に成功しました
241:カーソルを不可視にしました
244:IMEを無効にしました
249:DirectInput関係初期化処理
251: DirectInput7 の取得中... 成功
375: 引き続き初期化処理... 初期化成功
379: ジョイパッドの初期化...
458: ジョイパッドの初期化は正常に終了しました
459: マウスデバイスの初期化... 初期化成功
463: キーボードデバイスの初期化... 初期化成功
468:DirectInput 関連の初期化は正常に終了しました
473:DirectSound の初期化を行います
474:DirectSound インターフェースの取得を行います.... 成功
482:引き続きインターフェースの初期化処理... 成功
763: DirectSound デバイスを列挙します
767: モジュール名: ドライバ記述:プライマリ サウンド ドライバー
769: モジュール名:{0.0.0.00000000}.{413b0bc3-8a4a-4773-bf54-0971d075dd68} ドライバ記述:スピーカー (Realtek High Definition Audio)
771: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz
772: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB

774: 利用可能サンプリング精度
776: プライマリ 16bit = OK 8bit = OK
777: セカンダリ 16bit = OK 8bit = OK

779: 利用可能チャンネル
781: プライマリ MONO = OK STEREO = OK
782: セカンダリ MONO = OK STEREO = OK

785:DirectSound の初期化は正常に終了しました
792:DirectDraw オブジェクトの取得を行います.... 成功
806:引き続き初期化処理... 初期化に成功しました
854:IDirect3D9Ex オブジェクトを取得します.... 成功
1457:Desktop Window Manager を無効にしました
1459:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
3204:成功
3208:Driver:igdumdx32.dll Description:Intel(R) HD Graphics
3209:画面のフォーマットは D3DFMT_R5G6B5 です
3210:Zバッファのフォーマットは D3DFMT_D16 です
3212:16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
3214:32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
3215:アルファ付き 16bit カラーフォーマットは D_D3DFMT_A4R4G4B4 です
3217:アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
3218:アルファテスト用 16bit カラーフォーマットは D_D3DFMT_A1R5G5B5 です
3219:アルファテスト用 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
3221:DXT1テクスチャフォーマットは D_D3DFMT_DXT1 です
3222:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です
3223:DXT3テクスチャフォーマットは D_D3DFMT_DXT3 です
3225:DXT4テクスチャフォーマットは D_D3DFMT_DXT4 です
3226:DXT5テクスチャフォーマットは D_D3DFMT_DXT5 です
3228:描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です
3229:描画用 32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
3231:描画用アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
3232:描画用ABGR浮動小数点16ビット型カラーフォーマットは D_D3DFMT_A16B16G16R16F です
3234:描画用ABGR浮動小数点32ビット型カラーフォーマットは D_D3DFMT_A32B32G32R32F です
3236:最大テクスチャサイズ 幅:4096 高さ:4096
3238:テクスチャステージテンポラリレジスタ:使用可
3239:減算合成のハードウェア対応:ネイティブ
3241:頂点シェーダーバージョンコード:300
3242:ピクセルシェーダーバージョンコード:300
3438:バックバッファロック転送の時間:57588nsec 一時的な描画可能バッファを使用した転送の時間:1505nsec
3440:バックバッファロックを使用しません
3441:Zバッファを作成します.... 成功
3474:プログラマブルシェーダーを使用します

4270:フォントの初期化を行います
4293:フォントの初期化は正常に終了しました
4295:文字コードバッファの初期化を行います... 完了しました

---------------
Display Devices
---------------
Card name: Intel(R) HD Graphics
Manufacturer: Intel Corporation
Chip type: Intel(R) HD Graphics (Core i5)

DirectXのバージョン 11

Re: DXで画像が表示されません

Posted: 2011年7月31日(日) 12:53
by softya(ソフト屋)
Log.txtが途中だと思います。そこから初期化が終わって動き出すところですが、そこまでしかなかったですか?
それとDXライブラリのバージョンもお願いします。

あと、もしLoadGraph()とDrawGraph()をコメントアウトして
DrawBox( 0 , 0 , 640 , 480 , GetColor( 0 , 0 , 255 ), TRUE) ;
で描画しただけでも動きませんか?

Re: DXで画像が表示されません

Posted: 2011年7月31日(日) 13:13
by x_kai
softya(ソフト屋) さんが書きました:Log.txtが途中だと思います。そこから初期化が終わって動き出すところですが、そこまでしかなかったですか?
それとDXライブラリのバージョンもお願いします。

あと、もしLoadGraph()とDrawGraph()をコメントアウトして
DrawBox( 0 , 0 , 640 , 480 , GetColor( 0 , 0 , 255 ), TRUE) ;
で描画しただけでも動きませんか?
Log.txtはココまでしかありませんでした。
DXライブラリのバージョン : Ver 3.05f

コメントアウトしてもフリーズしました、
以前は普通に動いていたのですが、どこか設定でも変えてしまったのでしょうか.....。

Re: DXで画像が表示されません

Posted: 2011年7月31日(日) 13:30
by softya(ソフト屋)
DXライブラリ(Ver 3.05f)はつい最近更新された最新ですよね?
前に動いていた時も同じバージョンでしたか?最新だと動かないバグがDXライブラリ側にある可能性もあります。
古いバージョンをお持ちなら世代を戻してみるのも手です。

[追記]
どちらにしても、DXライブラリの管理人さんに報告したほうが良い気がします。

「DXライブラリ質問掲示板」
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?

Re: DXで画像が表示されません

Posted: 2011年7月31日(日) 14:34
by x_kai
softya(ソフト屋) さんが書きました:DXライブラリ(Ver 3.05f)はつい最近更新された最新ですよね?
前に動いていた時も同じバージョンでしたか?最新だと動かないバグがDXライブラリ側にある可能性もあります。
古いバージョンをお持ちなら世代を戻してみるのも手です。

[追記]
どちらにしても、DXライブラリの管理人さんに報告したほうが良い気がします。

「DXライブラリ質問掲示板」
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?
もともと3.05fだったので、環境が少しダメなのかと思います。

わざわざありがとうございます。