旧ゲームプログラミングの館 40aの質問
Posted: 2011年8月06日(土) 20:59
質問があります。
旧ゲームプログラミングの館、40aの GetHitKeyStateAll_2という関数についてですが、
なぜ、Keyという変数に押したカウント数が入るのですか?
コードを見て、GetHitKeyStateAll_2(Key)としていますが、
これは引数として渡しているだけではないのですか?
ゲームプログラムの基本骨格はよく使わせてもらっていますが、よく分かっていませんでした。
お願いします。
旧ゲームプログラミングの館、40aの GetHitKeyStateAll_2という関数についてですが、
なぜ、Keyという変数に押したカウント数が入るのですか?
#include "DxLib.h"
int GetHitKeyStateAll_2(int KeyStateBuf[]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key[i]==1) KeyStateBuf[i]++;
else KeyStateBuf[i]=0;
}
return 0;
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
int Key[256];
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が押されていない
DrawFormatString(0,0,GetColor(255,255,255),"%d",Key[KEY_INPUT_RETURN]);//エンター入力カウント
if(Key[KEY_INPUT_RETURN]==1)//今の瞬間押されたら
DrawBox(0,0,640,480,GetColor(255,255,255),TRUE);//画面全体を白い四角で表示
ScreenFlip();
}
DxLib_End();
return 0;
}
これは引数として渡しているだけではないのですか?
ゲームプログラムの基本骨格はよく使わせてもらっていますが、よく分かっていませんでした。
お願いします。