はじめまして
今、メニュー画面を作っているのですが、
上下キーで選んでいるものを変えれるようにするところまではいけたのですが、
↑のキーを押して、今選択しているものの1つ上のものを選ぼうとしたとき、
少し長く押してしまっただけで、2個上のものを選択してしまったりします。
ボタンを押したときに少し時間がたたないとダメなように設定してみると、
上に2個いくということはなくなりましたが、上を押して、すぐに下を押すと反応しないなどの不具合がでてしまいます。
何かいい方法はありませんか?
メニュー画面を作っているのですが・・・
-
雷
Re:メニュー画面を作っているのですが・・・
それぞれのキーにフラグを設定して、キーが押された瞬間関数を呼び出して、それの成否で処理を決める。
押されているのが過去押されたキーと同じの場合のみ時間をとらせる・・・ではどうかな
押されているのが過去押されたキーと同じの場合のみ時間をとらせる・・・ではどうかな
関数の例として:
void Key( int *old_key, int *now_key){
if(old_key == now_key)
return 1;
return 0;
}
フラグが面倒そうですが、一定時間がたったらOKってするとか?
void Key(int old_time, int now_time){
if( old_time - now_time > 0.6 * 1000 ){
old_time = now_time;
return 1;
}
return 0;
}
どっちも検証も動作保障も何もありませんが参考になるかな?