初心者ですが、画像を動かせません。
Posted: 2011年2月12日(土) 00:33
VC++とDXライブラリを使用して、
「画像をメモリに読み込んで表示し、上キーと下キーを押すと画像が上下に移動する」というプログラムを作りたくて、下のようなプログラムを書いてみたのですが
code
#include "DxLib.h"
int Key[256];
int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key==1) GetHitKeyStateAll_InputKey++;
else GetHitKeyStateAll_InputKey=0;
}
return 0;
}
int func_state = 0;
int x =220;
void draw_picture();
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode(TRUE);//ウィンドウモード
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
//↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない
switch(func_state){
case 0:
draw_picture();
default:
break;
}
ScreenFlip();
}
DxLib_End();
return 0;
}
void draw_picture(){
int image;
image = LoadGraph( "picture.png" ) ;
DrawGraph( 60 , x , image , FALSE ) ;
if(Key[KEY_INPUT_UP]==1) x=x-5;
if(Key[KEY_INPUT_DOWN]==1) x=x+5;
}
/code
上キーや下キーを押し続けても一度移動するだけなんです。
押している間は動かし続けたいのですが、どうすればよいでしょうか・・
初歩的な質問で申し訳ありません
「画像をメモリに読み込んで表示し、上キーと下キーを押すと画像が上下に移動する」というプログラムを作りたくて、下のようなプログラムを書いてみたのですが
code
#include "DxLib.h"
int Key[256];
int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key==1) GetHitKeyStateAll_InputKey++;
else GetHitKeyStateAll_InputKey=0;
}
return 0;
}
int func_state = 0;
int x =220;
void draw_picture();
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode(TRUE);//ウィンドウモード
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
//↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない
switch(func_state){
case 0:
draw_picture();
default:
break;
}
ScreenFlip();
}
DxLib_End();
return 0;
}
void draw_picture(){
int image;
image = LoadGraph( "picture.png" ) ;
DrawGraph( 60 , x , image , FALSE ) ;
if(Key[KEY_INPUT_UP]==1) x=x-5;
if(Key[KEY_INPUT_DOWN]==1) x=x+5;
}
/code
上キーや下キーを押し続けても一度移動するだけなんです。
押している間は動かし続けたいのですが、どうすればよいでしょうか・・
初歩的な質問で申し訳ありません