Ya vimos en el tema anterior cómo dibujar en el lienzo (GameCanvas), a
través del método public void paint(Graphics g){...}, ahora vamos a ver otros
métodos que podemos utilizar en el lienzo de dibujo pero que no tienen que ver
directamente con el dibujado en pantalla, sino que estos métodos nos van a
permitir realizar acciones a través del teclado de nuestro celular o pantalla
(celulares táctiles).
Los métodos de los que hablaremos los podemos clasificar en 2 grupos:
Antes de continuar, descarga esta aplicación que te indicará qué métodos
soporta tu celular. DescargarApp. Es importante debido a que algunos celulares no
soportan keyRepeated, por mencionar un ejemplo.
TECLADO
Antes de comenzar con los métodos de teclado vamos a ver qué teclas
podemos utilizar. El teclado está compuesto por botones alfanuméticos y además
tiene botones direccionales y botones extras. Veamos un ejemplo gráfico donde
se muestran los botones que podemos utilizar:
keyPressed
Se utiliza para realizar una acción al pulsar un botón del teclado de
nuestro celular, cuando estamos trabajando dentro de un lienzo de dibujo
(GameCanvas). Las acciones que coloquemos dentro de este método se van a llevar
a cabo justo cuando se pulse un botón determinado.
keyReleased
Se utiliza para realizar una acción al soltar un botón que ha sido
previamente pulsado, cuando estamos trabajando dentro de un lienzo de dibujo
(GameCanvas). Las acciones que coloquemos dentro de este método se van a llevar
a cabo justo cuando se suelte un botón determinado.
keyRepeated
Se utiliza para realizar una acción al mantener presionado un botón,
cuando estamos trabajando dentro de un lienzo de dibujo (GameCanvas), y siempre
que el celular soporte este método. Las acciones que coloquemos dentro de este
método se van a llevar a cabo cuando se mantenga presionado un botón
determinado.
¿Cómo Usarlos?
Para usar los métodos de teclado debemos colocarle nombre a la
variable de tipo int, no necesariamente se tiene que llamar keycode, yo en lo
particular siempre la llamo “k”.
Código
|
Notas
|
public void keyPressed(int k){
if(k == KEY_NUM0){
//Acciones a realizar
}
if(k == KEY_NUM1){
//Acciones a realizar
}
}
|
En este caso utilizamos keyPressed pero puede
ser keyReleased o keyRepeated, es la misma
estructura. Podemos ver que es similar a como definíamos una función
particular para cada comando dentro de una Form. Las teclas que podemos
utilizar son: KEY_NUM0,..., KEY_NUM9, KEY_STAR, KEY_POUND. Y las teclas de
acción que podemos utilizar son: FIRE, GAME_A, GAME_B, GAME_C, GAME_D.
|
Descarga el código y los recursos de la aplicación para saber con más
detalle cómo se usan los métodos de teclado. Descargar.
Descarga una aplicación de ejemplo en la que se utilizan los métodos
de teclado. DescargarApp.
PANTALLA
En el caso de los celulares táctiles, cualquier punto dentro de la
pantalla es válido, es por eso que los métodos para controlar la pantalla
solicitan dos parámetros: una coordenada en el eje horizontal (x) y una
coordenada en el eje vertical (y). La determinación de este punto en la
pantalla es similar a como lo hicimos con el punto de referencia, un valor x y uno y.
pointerPressed
Se utiliza para realizar una acción al pulsar un punto determinado de
la pantalla, cuando estamos trabajando dentro de un lienzo de dibujo
(GameCanvas). Las acciones que coloquemos dentro de este método se van a llevar
a cabo justo cuando se pulse un punto que determinemos de la pantalla del
celular.
pointerReleased
Se utiliza para realizar una acción al dejar de pulsar un punto
determinado de la pantalla, cuando estamos trabajando dentro de un lienzo de
dibujo (GameCanvas). Las acciones que coloquemos dentro de este método se van a
llevar a cabo justo cuando se deje de pulsar un punto que determinemos de la
pantalla del celular.
pointerDragged
Se utiliza para realizar una acción al desplazar nuestro dedo desde un
punto a otro de la pantalla, cuando estamos trabajando dentro de un lienzo de
dibujo (GameCanvas). Las acciones que coloquemos dentro de este método se van a
llevar a cabo cuando nuestro dedo se desplace desde el punto inicial que
determinemos hasta el punto final que determinemos, en la pantalla.
¿Cómo Usarlos?
Para usar los métodos de pantalla debemos colocar nombre a las dos
variables tipo int, yo particularmente las llamo igual “x” y “y”.
Código
|
Notas
|
public void pointerPressed(int x, int y){
if(x
== 5 && y == 5){
//Acciones a realizar
}
if(x == 20 && y == 50){
//Acciones a realizar
}
|
En este caso utilizamos pointerPressed pero
puede ser pointerReleased o pointerDragged, es la misma
estructura. Debemos utilizar el operador “&&” para relacionar el
valor del eje vertical (x) con el
valor del eje vertical (y). Si no
se coloca un valor de x y uno de y no funcionará.
|
Descarga el código y los recursos de la aplicación para saber con más
detalle cómo se usan los métodos de pantalla. Descargar.
Descarga una aplicación de ejemplo en la que se utilizan los métodos
de pantalla. DescargarApp.
No hay comentarios.:
Publicar un comentario