De vez en cuando, para realizar pruebas rápidas con ideas que se me van ocurriendo para futuras aplicaciónes, uso AppInventor.
AppInventor es una herramienta para programar sencillas y básicas aplicaciónes para tu móvil Android de manera fácil, aunque se le hecha en falta muchas opciones mas profesionales, es por eso que esta herramienta queda limitada básicamente a experimentar, una de las cosas que se le hecha en falta es una opción para tocar la pantalla doble o múltiples veces y realize eventos diferentes a la vez, sigue leyendo la entrada que explico como se puede resolver de manera fácil y rápida.
En esta entrada explico como podemos resolver el problema de no poder tener sensibilidad doble tan útil en algunas aplicaciónes como musicales,juegos ,etc... (a nadie se le ocurriría realizar una app de un piano sin poder tocar varias teclas a la vez y que suenen a la vez), para esto necesitamos una instrucción MultiTouch.
La respuesta está en el Canvas con la cual puedes hacer una gran variedad de aplicaciones , el canvas es capaz de realizar un seguimiento de todos tus movimientos o gestos por la pantalla táctil.
La lógica entra en juego:
¿Con que frecuencia tocas el Canvas para un intervalo corto¿ (~ 500 milisegundos = 1/2 segundo)
- Abre AppInventor y crea un nuevo proyecto y utiliza estos elementos :
- Canvas
- Clock
- Text Box
- Abra el editor de código,
es bueno guardar regularmente el proyecto en Appinventor, al ser una plataforma open-source no se compromete mucho el guardar nuestros datos de un proyecto.
Se necesita una variable global , que almacenará el numero de clics (Touch). Crearas una variable global pinchando sobre Definition y dele un nombre adecuado al bloque, por ejemplo "tiempo".
Ahora hay que dar un intervalo de tiempo para el temporizador, como nos interesa hacer doble clic necesitamos medio segundo (1/2 seg). Al temporizador le puedes dar el valor 500ms, colocando ese bloque en el bloque de inicialización de la pantalla.
Canvas1.TouchUP dará información acerca de la frecuencia con la que tocó el canvas.
Si hizo clic varias veces,el "contador de tiempo" como variable se incrementará en 1 (véase el bloque de matemáticas dentro del bloque Canvas1.Mousetouchup). Al final de 1 ciclo de temporizador (500 mS), una interrupción se disparará y todo el ciclo de ejecución del programa llegará en el bloque clock1.timer, en ese bloque se escribe el número de clics almacenados en nuestra variable global (timer) para el TextBox1. Después de imprimir el valor en la caja de texto 1, establezca el valor de la variable de tiempo a cero. (De lo contrario, aumenta con cada clic)
Esta es la configuración de los bloques usados:
Bueno tan solo espero que esta entrada sirva de ayuda para usar multitouch y que lo podáis aplicar en diferentes propósitos, Saludos.
No hay comentarios:
Publicar un comentario