パッド入力について

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

パッド入力について

#1

投稿記事 by ととろ » 16年前

PSPで作っているのでkey入力はいらないですよね?
龍神録の八章をみてもらって
キーボード入力を考えないとするとどこをどう変更・カットすればいいのでしょうか。
その他ミスがあったら教えてくれるとうれしいです

key.cppの一部
pad_t pad;

//引数1と引数2のうち大きい方を引数1に代入する
void input_pad_or_key(int *p, int k){
*p = *p>k ? *p : k;
}

//パッドとキーボードの両方の入力をチェックする関数
void GetHitPadStateAll(){
int i,PadInput,mul=1;
PadInput = GetJoypadInputState( DX_INPUT_PAD1 );//パッドの入力状態を取得
for(i=0;i<16;i++){
if(PadInput & mul) pad.key++;
else pad.key=0;
mul*=2;
}
input_pad_or_key(&pad.key[configpad.left] ,CheckStateKey(KEY_INPUT_LEFT ));
input_pad_or_key(&pad.key[configpad.up] ,CheckStateKey(KEY_INPUT_UP ));
input_pad_or_key(&pad.key[configpad.right] ,CheckStateKey(KEY_INPUT_RIGHT ));
input_pad_or_key(&pad.key[configpad.down] ,CheckStateKey(KEY_INPUT_DOWN ));
input_pad_or_key(&pad.key[configpad.shot] ,CheckStateKey(KEY_INPUT_Z ));
input_pad_or_key(&pad.key[configpad.bom] ,CheckStateKey(KEY_INPUT_X ));
input_pad_or_key(&pad.key[configpad.slow] ,CheckStateKey(KEY_INPUT_LSHIFT ));
input_pad_or_key(&pad.key[configpad.start] ,CheckStateKey(KEY_INPUT_ESCAPE ));
input_pad_or_key(&pad.key[configpad.change] ,CheckStateKey(KEY_INPUT_LCONTROL));
}

Justy

Re:パッド入力について

#2

投稿記事 by Justy » 16年前

 テストしていませんが、こんなかんじでどうでしょう?
[color=#d0d0ff" face="monospace]
void GetHitPadStateAll()
{
for(int i=0; i<16; i++)
pad.key = 0;

pad.key[configpad.left] = CheckStateKey(KEY_INPUT_LEFT);
pad.key[configpad.up] = CheckStateKey(KEY_INPUT_UP);
pad.key[configpad.right] = CheckStateKey(KEY_INPUT_RIGHT);
pad.key[configpad.down] = CheckStateKey(KEY_INPUT_DOWN);
pad.key[configpad.shot] = CheckStateKey(KEY_INPUT_Z);
pad.key[configpad.bom] = CheckStateKey(KEY_INPUT_X);
pad.key[configpad.slow] = CheckStateKey(KEY_INPUT_LSHIFT);
pad.key[configpad.start] = CheckStateKey(KEY_INPUT_ESCAPE);
pad.key[configpad.change] = CheckStateKey(KEY_INPUT_LCONTROL);
}
[/color]

ととろ

Re:パッド入力について

#3

投稿記事 by ととろ » 16年前

ありがとうございます。
おかげでプログラムがすっきりしました

閉鎖

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