如何使用 BlueStacks 在 Java 中映射键盘?
我试试这个,但是当我按下任何键时什么都不做。我需要使用箭头键和空格键,感谢您的帮助。
public static class KeyEvent {
public static final int KEY_DOWN = 0;
public static final int KEY_UP = 1;
public int type;
public int keyCode;
public char keyChar;
public String toString() {
StringBuilder builder = new StringBuilder();
if (type == KEY_DOWN)
builder.append("tecla pulsada, ");
else
builder.append("tecla levantada, ");
builder.append(keyCode);
builder.append(",");
builder.append(keyChar);
return builder.toString();
}
public List<KeyEvent> getKeyEvents();
}
然后调用类:
public void update(float deltaTime) {
List<TouchEvent> touchEvents = juego.getInput().getTouchEvents();
List<KeyEvent> keyEvents = juego.getInput().getKeyEvents();
juego.getInput().getKeyEvents();
if (estado == EstadoJuego.Preparado)
updateReady(touchEvents);
if (estado == EstadoJuego.Ejecutandose) {
updateRunning(touchEvents, deltaTime,keyEvents);
}
if (estado == EstadoJuego.Pausado)
updatePaused(touchEvents);
if (estado == EstadoJuego.FinJuego)
updateGameOver(touchEvents);
}
private void updateRunning(List<TouchEvent> touchEvents, float deltaTime,List<KeyEvent> keyEvents) {
//Reinicio valores de menus pausa, etc...
msgx=360;
listo=false;
finmensaje=false;
for(int i=0;i<keyEvents.size();i++){
if(keyEvents.get(i).keyCode>0){
Assets.sdisparo.play(1);
}
}
if(juego.getInput().isKeyPressed(38)){
Log.e("Prueba", "Se ha tecleado arriba");
Assets.sdisparo.play(1);
}
}
对不起我的英语^^