06/02/21 05:42:06 uuzcpC5q
ボタンを押した瞬間を取得したいんですが
下記のソースがうまく動作しません。
何がいけないかわかりますか?
//ボタンに関する列挙型
typedef enum{UP,DOWN,RIGHT,LEFT,A,B,L,R,START,SELECT} KEY;
//スタティックグローバル変数
static u32 sgKey; /* キーセンス */
static u32 sgKeyhit; /* キー押した瞬間 */
//メインループの頭でボタンの状態を一括取得
void UpdateKeySense(void)
{
static u32 keyold = 0;
sgKey = (u32)(*KEYS);
sgKeyhit = sgKey & (~keyold);
keyold = sgKey;
}
//特定のキーが今押されたかを調べる
u8 KeyHit(KEY key){
switch(key){
case A:
if(!(sgKeyhit & KEY_A)) return 1;
else return 0;
case B:
if(!(sgKeyhit & KEY_B)) return 1;
else return 0;
}
return 0;
}