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);
}
}
私の英語でごめんなさい^^