おべんきょ

  • タグ:
  • タグはありません
public static int KEY_UP = 1;//
public static int KEY_DOWN = 1<<1;//
public static int KEY_LEFT = 1<<2;//
public static int KEY_RIGHT = 1<<3;//
public static int KEY_SHOT = 1<<4;//
public static int KEY_JAMP = 1<<5;//
private static int KEY_CODE_UP = 0x00;//
private static int KEY_CODE_DOWN = 0x00;//
private static int KEY_CODE_LEFT = 0x00;//
private static int KEY_CODE_RIGHT = 0x00;//
private static int KEY_CODE_SHOT = 0x00;//
private static int KEY_CODE_JAMP = 0x00;//
private int[] KEY_CODE_TABLE = {
KEY_CODE_UP,
KEY_CODE_DOWN,
KEY_CODE_LEFT,
KEY_CODE_RIGHT,
KEY_CODE_SHOT,
KEY_CODE_JAMP,
};
private int m_keyState = 0; //
private int m_oldKeyState = 0; //
//
private int m_oneShotKeyState = 0;
public void checkKeyState() {
//
m_oldKeyState = m_keyState;
m_keyState = 0;
for (int i = 0; i < KEY_CODE_TABLE.length; i++) {
// getKeybordState(int keyCode)API
// true
if (getKeybordState(KEY_CODE_TABLE[i])) {
//
// 0000 0000 0000 0001
// SHOT 0000 0000 0001 0000
// JAMP 0000 0000 0010 0100
//
m_keyState |= 1 << i;
}
}
// XOR
m_oneShotKeyState = m_oldKeyState^m_keyState;
}
//
public boolean press(int key) { return (m_keyState & key) == key; }
//
public boolean release(int key) { return (m_keyState & key) != key; }
//
public boolean oneShotPress(int key) { return (m_oneShotKeyState & key) == key & press(key); }
//
public boolean oneShotRelease(int key) { return (m_oneShotKeyState & key) == key & release(key); }
/**使*/
void main() {
checkKeyState();
if (press(KEY_UP)) {
//
}
if (oneShotPress(KEY_SHOT)) {
//
} else if (press(KEY_SHOT)){
//
} else if (oneShotRelease(KEY_SHOT)) {
//
}
// 使
if (press(KEY_SHOT | KEY_JAMP)) {
//
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX