Un ejemplo sencillo con MobileProcessing

Oh no. Encendí este aparato … hoy tampoco me voy a acostar temprano.

Con las cosas que he aprendido hasta ahora acerca de MP quería hacer algo que se moviera con el teclado y probarlo en mi teléfono a ver si era cierto que funcionaba.

La idea era sencilla, hacer que un cuadrito azul se moviera a lo largo y ancho de la pantalla sin salirse según la presión de las teclas direccionales del teléfono. Para esto la mayoría de las cosas que necesité ya eran conocidas. No se si exista una forma mas eficiente de hacerlo con las clases del API pero esta es mi primera versión.

Creé la clase Sprite que representa cualquier cosa con una ubicación (x, y), unas dimensiones (ancho, alto) y un color. De esta clase hereda el Player cuyo color es azul. Extrañamente la clase color se llama con c minúscula y existe una cómoda función, de igual nombre, que retorna el objeto color a partir de los componentes R, G, B. A estas clases les hice los métodos set/get necesarios.

Creé además una clase World que representa la pantalla del teléfono y que conoce al Player. La clase World tiene un método isValidPlayerMove(x, y) que verifica si el Player puede o no moverse en la forma como lo solicita según la disposición del ambiente.

Creé un objeto world cuyo ámbito es global para tener acceso a él durante todo el código. En la función setup() instancio este objeto y le relaciono a él una instancia de Player cuyo alto y ancho hace que le permita moverse a lo largo de 7 columnas y 9 filas según el tamaño de la pantalla. Para eso utilizo las variables height y width que provee MP.

En la función keyPressed() verifico si se presionó alguna de las teclas especiales (dirección) utilizando la variable keyCode que ya se ha mencionado. Manipulo las coordenadas (x, y) de la ubicación del Player en el World siempre y cuando el movimiento resultante sea válido.

En la función draw() dibujo un rectángulo relleno utilizando las funciones fill() y rect() las cuales aún no se han revisado, según el color y la ubicación actual de la instancia de Player.

Y listo! Extremadamente fácil. Me recuerda mis épocas mozas aprendiendo a programar en C, modo gráfico con BGI (Borland Graphics Interface).

Enlace: Maze1.pde

One thought on “Un ejemplo sencillo con MobileProcessing”

Leave a Reply

Your email address will not be published. Required fields are marked *