33. 選択画面の作り方。

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

33. 選択画面の作り方。

#1

投稿記事 by rolf » 15年前

ゲームプログラミングの館の   33. 選択画面の作り方。 で

int GetHitKeyStateAll_2(int KeyStateBuf[/url]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key==1) KeyStateBuf++;
else KeyStateBuf=0;
}
return 0;
}

がいまいちわからないです 言葉で説明していただけませんか?

kazuoni

Re:33. 選択画面の作り方。

#2

投稿記事 by kazuoni » 15年前

int GetHitKeyStateAll_2(int KeyStateBuf[/url]){
    char GetHitKeyStateAll_Key[256]; // 予備
    GetHitKeyStateAll( GetHitKeyStateAll_Key ); // 元状態のキー状態を予備に保存(配列に入る数字は0 or 1)
    for(int i=0;i<256;i++)
    {
        if(GetHitKeyStateAll_Key==1) // 入力があればインクリメント
            KeyStateBuf++;
        else                
            KeyStateBuf=0;
    }
    return 0; 
}


結局は、
「入力が0か1か」
ではなく、
「何フレーム間押されているか」
を監査しています。
こうする事によって、押された瞬間は[Key]=1 , 長押しは[Key]>40
などとすることができ、便利です。

閉鎖

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