http://dixq.net/forum/viewtopic.php?t=9756&p=78721
soft屋さんから教えていただいたwebページで関数を試したんですがどうもうまくいきませんでした。
#include "DxLib.h"
int Key[256]; // キーが押されているフレーム数を格納する
// キーの入力状態を更新する
int gpUpdateKey(){
char tmpKey[256]; // 現在のキーの入力状態を格納する
GetHitKeyStateAll( tmpKey ); // 全てのキーの入力状態を得る
for( int i=0; i<256; i++ ){
if( tmpKey[i] != 0 ){ // i番のキーコードに対応するキーが押されていたら
Key[i]++; // 加算
} else { // 押されていなければ
Key[i] = 0; // 0にする
}
}
return 0;
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定
MessageBox(NULL,_T("test"),_T("winapp"),MB_OK);
SetWindowText("円高ゲーム");
int now = 200;
float gravity = 0.15f;
float engine = -0.30f;
float speed = 0;
int hitachi;
hitachi = LoadGraph("media/pic/hitachi05.png");
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey()==0 ){
float raccel = 0;
DrawGraph(320,now,hitachi,TRUE);
if( Key[ KEY_INPUT_SPACE ] > 0 ){
// スペースキーが押された瞬間だけ処理ではなく押されている間中処理
raccel = engine;
}
//Key[ KEY_INPUT_SPACE ] = Key[ KEY_INPUT_SPACE ]%1;
speed +=raccel + gravity;//重力おまけ付なし
now += (int)speed;//
}
DxLib_End() ;
return 0;
}