無題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
P

無題

#1

投稿記事 by P » 12年前

一日中考えたのですが、どうしても解決できないので質問させていただきます。
#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」の画像については添付しておきました。

P

Re:無題

#2

投稿記事 by P » 12年前

すいません、少し訂正です。

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

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

GPGA

Re:無題

#3

投稿記事 by GPGA » 12年前

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

管理人

Re:無題

#4

投稿記事 by 管理人 » 12年前

処理がどこでおかしいかわからなくなってしまったときは、デバッカで一つずつチェックしてみるとよいですよ^^
mukiを常に1か2の方向にしたいのでしたら、mukiをそのどちらかで初期化すると良いと思います。

P

Re:無題

#5

投稿記事 by P » 12年前

ご回答ありがとうございます。

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

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

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

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


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

管理人

Re:無題

#6

投稿記事 by 管理人 » 12年前

私の書くもののようなわかりにくいサンプルをご覧頂いて、ありがとうございます^^;

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

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

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

閉鎖

“C言語何でも質問掲示板” へ戻る