初心者です
Posted: 2010年3月31日(水) 02:43
C言語ゲームプログラミングの館で勉強しているのですが、
キャラを四方向に‥の場所を覚えたので自分で考えて打ったのですが(int WINAPI WinMa‥はコピペ
画面の左に永遠と歩き画面の一番左で上を向きます
どうすれば直せますか?
#include "DxLib.h"
typedef struct{
int x,y,muki,img,aruku_flag;
}ch_t;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //初期化処理
int image[16];
char Key[256];
ch_t ch;
ch.x=320;
ch.y=0;
ch.muki=1;
ch.aruku_flag=0;
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されていな
if(ch.y%32==0 && ch.x==0){
ch.aruku_flag=1;
if(Key[KEY_INPUT_UP]==1)
ch.muki=0;
else if(Key[KEY_INPUT_LEFT]==1)
ch.muki=4;
else if(Key[KEY_INPUT_DOWN]==1)
ch.muki=8;
else if(Key[KEY_INPUT_RIGHT]==1)
ch.muki=12;
else
ch.aruku_flag=0;
}
if(ch.aruku_flag=1){
if(ch.muki=4)
ch.x--;
else if(ch.muki=0)
ch.y--;
else if(ch.muki=8)
ch.y++;
else if(ch.muki=12)
ch.x++;}
LoadDivGraph("char.png",16,4,4,32,32,image);
ch.img=image[(ch.x%32)/8+ch.muki];
DrawGraph(ch.x,ch.y,ch.img,TRUE);
ScreenFlip();
}
DxLib_End();
return 0;
}
キャラを四方向に‥の場所を覚えたので自分で考えて打ったのですが(int WINAPI WinMa‥はコピペ
画面の左に永遠と歩き画面の一番左で上を向きます
どうすれば直せますか?
#include "DxLib.h"
typedef struct{
int x,y,muki,img,aruku_flag;
}ch_t;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //初期化処理
int image[16];
char Key[256];
ch_t ch;
ch.x=320;
ch.y=0;
ch.muki=1;
ch.aruku_flag=0;
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されていな
if(ch.y%32==0 && ch.x==0){
ch.aruku_flag=1;
if(Key[KEY_INPUT_UP]==1)
ch.muki=0;
else if(Key[KEY_INPUT_LEFT]==1)
ch.muki=4;
else if(Key[KEY_INPUT_DOWN]==1)
ch.muki=8;
else if(Key[KEY_INPUT_RIGHT]==1)
ch.muki=12;
else
ch.aruku_flag=0;
}
if(ch.aruku_flag=1){
if(ch.muki=4)
ch.x--;
else if(ch.muki=0)
ch.y--;
else if(ch.muki=8)
ch.y++;
else if(ch.muki=12)
ch.x++;}
LoadDivGraph("char.png",16,4,4,32,32,image);
ch.img=image[(ch.x%32)/8+ch.muki];
DrawGraph(ch.x,ch.y,ch.img,TRUE);
ScreenFlip();
}
DxLib_End();
return 0;
}