GetHitKeyStateAll関数がわかりません

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

GetHitKeyStateAll関数がわかりません

#1

投稿記事 by でこ » 13年前

codeタグを直しておきました。 プレビューで必ず確認して下さい。 by softya(ソフト屋)

コード:

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,LPSTR,int){
        ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定

        int x=320, y=240;
        int Handle = LoadGraph("画像/キャラクタ01.png");

        // while(裏画面を表画面に反映, メッセージ処理, 画面クリア, キーの更新)
        while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey()==0 ){

                if( Key[ KEY_INPUT_RIGHT ] ){ // 右キーが押されていたら
			x++;                       // 右へ移動
                }

		DrawRotaGraph( x, 200, 1.0, 0.0, Handle, TRUE ); // x,y の位置にキャラを描画

	}

	DxLib_End(); // DXライブラリ終了処理
	return 0;
}
このプログラムで教えて欲しいんですが右キーを押してGetHitKeyStateAllに何が入るんでしょうか?
KEY_INPUT_RIGHT が入るんでしょうか?1が入るんでしょうか?
全くわかりません。。
教えてください!お願いしますm(_ _)m

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: GetHitKeyStateAll関数がわかりません

#2

投稿記事 by みけCAT » 13年前

GetHitKeyStateAll関数が成功なら0、エラーなら-1が入ります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: GetHitKeyStateAll関数がわかりません

#3

投稿記事 by softya(ソフト屋) » 13年前

ここの解説を読まれましたか?
「DXライブラリ置き場 リファレンスページ GetHitKeyStateAll」
http://homepage2.nifty.com/natupaji/DxL ... html#R5N28
引数や戻り値の仕組みは理解出来ますでしょうか。※ ポインタを理解している必要があります。
何処らへんから解説すべきなのか、理解度を教えて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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