ページ 11

無題

Posted: 2007年1月21日(日) 20:51
by P
一日中考えたのですが、どうしても解決できないので質問させていただきます。
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
        ChangeWindowMode( TRUE ) ;              // ウインドウモードに変更
        if( DxLib_Init() == -1 ) return -1;     //DXライブラリ初期化 エラーが起きたら終了 
       
              int x = 100,y = 100,gazou[6],gazou2,flag=0,muki=0;
	char key[256];
	
	SetDrawScreen(DX_SCREEN_BACK);
	LoadDivGraph("henzi5.png",6,3,2,31,60,gazou);
	
	while(1) {
	ClearDrawScreen();
	GetHitKeyStateAll(key);
	if(x%32!=0) {
	flag = 1
	if(key[KEY_INPUT_LEFT] == 1)
	muki = 1;
	else if(key[KEY_INPUT_RIGHT] == 1)
	muki = 2;
	else
	flag = 0;
	}
	if(flag == 1) {
	if(muki == 1)
	x--;
	else if(muki == 2)
	x++;
	}
	{
	if(x%32>0 && x%32<8)
	gazou2 = gazou[muki*3-2];
	else if(x%32> 8 && x%32<16)
	gazou2 = gazou[muki*3-1  ];
	else if(x%32>16 && x%32<24)
	gazou2 = gazou[muki*3-2];
	else if(x%32>24 && x%32<32)
	gazou2 = gazou[muki*3-1];
	else
	gazou2 = gazou[muki*3-3];
	}
	
	if( key[ KEY_INPUT_ESCAPE ]  == 1 ) 
              break ; 
             if( ProcessMessage() == 1 ) 
             break ;         

	DrawGraph(x,y,gazou2,true);
	ScreenFlip();
	}
	
	
	
        DxLib_End() ;
        return 0 ;
}
上記のプログラムは、キー入力によって画像を動かすプログラムなのですが
実行しても何も表示されません。
もちろんキーを押しても反応しません。

↑キーと↓キーには対応させていません。
右と左だけです。

なぜなんでしょうか?
ちなみに「char2.png」の画像については添付しておきました。

Re:無題

Posted: 2007年1月22日(月) 18:25
by P
すいません、少し訂正です。

LoadDivGraph("henzi5.png",6,3,2,31,60,gazou);

ここの「henzi5.png」の部分は「char2.png」です。

Re:無題

Posted: 2007年1月22日(月) 19:15
by GPGA
> gazou2 = gazou[muki*3-3];
mukiが0のとき、gazou[-3]を参照している。

Re:無題

Posted: 2007年1月23日(火) 12:03
by 管理人
処理がどこでおかしいかわからなくなってしまったときは、デバッカで一つずつチェックしてみるとよいですよ^^
mukiを常に1か2の方向にしたいのでしたら、mukiをそのどちらかで初期化すると良いと思います。

Re:無題

Posted: 2007年1月23日(火) 18:54
by P
ご回答ありがとうございます。

>mukiが0のとき、gazou[-3]を参照している。

「-」で参照してはいけないのですね。
勉強になりました。

>デバッカで一つずつチェックしてみるとよいですよ^^

アドバイスありがとうございます。


ちなみに、無事解決できました。
わざわざこんな醜いプログラムソースを読んで、間違っている箇所のご指摘、それにアドバイス
本当にありがとうございました。

Re:無題

Posted: 2007年1月25日(木) 05:04
by 管理人
私の書くもののようなわかりにくいサンプルをご覧頂いて、ありがとうございます^^;

ゲームプログラミングの館でわかりにくいとことかありましたらいつでも是非聞いてください。

意見・要望によって色々変更していこうと思っていますので。

「こっちのソースの方がわかりやすい」っていうご指摘もお待ちしています☆