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

Tags:

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

One Comment to “Un ejemplo sencillo con MobileProcessing”

  1. Maze2, construyendo paredes con MobileProcessing | April 3rd, 2008 at 11:19 pm

    [...] una continuación del primer ejemplo en MobileProcessing ahora le voy a agregar paredes al laberinto y una opción de teletransportar [...]

Leave a Comment

You must be logged in to post a comment.