Bueno he avanzado un poco pero me surgió un problema. Al crear el listener en la intro del world:
Código:
elInput = mobile("jugador").getClient().getInputField();
elInput.addKeyListener( this );
Llegaba al método void keyPressed(KeyEvent arg0), (lo comprobé con un write de cada tecla pulsada) , pero el input se quedaba en blanco. Creo que corta el flujo normal del programa.
He tenido que ir rellenando el input "a mano", no sé hasta que punto esto debo hacerlo así, pero no sé porque el input no se rellena al poner el listener.
El problema de rellenarlo a mano es que debo tener en cuenta, espacio, tab, enter...
Código:
void keyPressed(KeyEvent arg0) {
// Enter
if ( arg0.getKeyCode() == 10 )
{
txtInput = "";
}
// Espacio
else if ( arg0.getKeyCode() == 32 )
{
txtInput = txtInput + " ";
elInput.setText ( txtInput );
}
// BackSpace
else if ( arg0.getKeyCode () == 8 )
{
if ( txtInput.length() > 0 )
{
txtInput = txtInput.substring (0, txtInput.length() -1 );
elInput.setText ( txtInput );
}
}
else if ( caracterImprimible ( arg0.getKeyCode() ) )
{
txtInput = txtInput + arg0.getKeyChar();
elInput.setText ( txtInput );
}
}
Funcionar funciona y me reconoce las órdenes normalmente. Pero me falta contemplar, tabulador, cursor izq, drech....
Para la lista de sugerencias guardaré lo que lleva pulsado el jugador y el texto que está impreso en el input. El jugador puede haber escrito "coger p", y el input esté sugiriendo "coger pistola"...
Como crearé la lista de sugerencias... eso aún está por decidir.