Un paso pa' trás ...
... ¿y dos pa' adelante? Eso espero. Ayer descubrí que tengo que rehacer una bola de cosas para lograr que el control del teclado pase grácil y elegantemente del cursor en el campo de batalla al cursor en el menú. Me he pasado fácil unas dos horas (unos minutos aquí, unos minutos allá) pensando en cómo va a estar esa interacción, pero creo que ya lo tengo bien planeado. De ésas dos horas, creo que solo una debe contar, pues no estuve todo ese tiempo sentado frente a la computadora. Oséase: 8.5 horas.
Advertencia: lo que sigue puede contener lenguaje obsceno (que puede ser no apropiado para menores), sentido del humor poco usual (que puede ser no apropiado para adultos), y técnicas de programación de computadoras (que puede ser no apropiado para licenciados).*
Tengo hasta ahora dos capas de imágenes (seguro que necesitaré más dentro de poco), una de fondo y otra de frente, ¡jha! Bueno, el programa pinta las capas de atrás para adelante, así que la de fondo tiene el campo de batalla, y la de frente tiene el cursor. Cuando se abre el menú, el fondo del mismo lo pinto en la capa de fondo (suena lógico, pero no lo es tanto), y los bordes y las opciones van en la capa de frente.
El gran cambio es que el área de batalla, que de ahora en adelante llamaré
escenografía, será el dueño del cursor (ahorita son dos objetos separados), de la misma manera que el menú es dueño de su propio cursor. Así, el programa solo tiene que saber si la orden
muévete para arriba hay que enviársela a la escenografía o al menú, y ya cada uno sabrá lo que significa y representa el moverse para arriba.
Este cambio también implica que tengo que asegurarme que tanto la escenografía como el menú implementen la misma
interface, es decir, que acepten las mismas órdenes.
* Basado en el pie de página de
xkcd.com