keystack.java
来自「Java ME中对多个按键同时处理的例子。」· Java 代码 · 共 63 行
JAVA
63 行
import java.util.Vector;
public class KeyStack {
/** 保存被按下的键 */
private static Vector keys = new Vector();
private static int keyStates = 0;
private static boolean isLoadOver;
// 按下鍵后的处理,往数组里添加
private void addKey(int keyCode) {
keyCode = keyCode < 0 ? MainCanvas.getMainCanvas().getGameAction(
keyCode) : keyCode;
keys.addElement(keyCode + "");
keyStates += (1 << keyCode);
}
// 松开键的处理,从数组中去除
private void removeKey(int keyCode) {
keyCode = keyCode < 0 ? MainCanvas.getMainCanvas().getGameAction(
keyCode) : keyCode;
keys.removeElement(keyCode + "");
keyStates -= (1 << keyCode);
}
public int getKeyStates() {
return keyStates;
}
public void keyPressed(int keyCode) {
this.addKey(keyCode);
}
public void keyReleased(int keyCode) {
this.removeKey(keyCode);
}
public static boolean isEmpty() {
return keys.size() == 0;
}
public static boolean isLoadOver() {
return isLoadOver;
}
public static void setLoadOver(boolean b) {
isLoadOver = b;
}
public static void removeAll(int keyCode) {
while (keys.removeElement(keyCode + ""))
;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?