ページ 11

33. 選択画面の作り方。

Posted: 2010年3月09日(火) 22:05
by rolf
ゲームプログラミングの館の   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;
}

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

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

Posted: 2010年3月10日(水) 00:18
by kazuoni
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
などとすることができ、便利です。