24 de febrero de 2011

Versión 0.50 Clean b

Algunos días sin postear. He estado trabajando en limpiar el código. He llegado a la número 50 de esta versión, lo que quiere decir mínimo 50 días de trabajo. Cambio de número cada noche, ya que estoy continuamente retocando la fuente...


Estoy contento por la evolución del proyecto. He avanzado mucho estos últimos días, y aunque aparentemente no parece haya muchos cambios externos, la programación abierta que he escrito me permitirá avanzar mucho en poco tiempo.

Han sido dos noches eliminando sentencias repetidas, recortando funciones, eliminando variables que sobran, retocando algunos detalles de las tipografias, etc.

Trabajando desde la cueva.... ;-D

21 de febrero de 2011

MsgBox y Teclado Virtual

Este fin de semana he terminado de implementar las rutinas referentes a guardar partidas y configuración de la aplicación, que como ya he comentado aqui son rutinas totalmente transparentes al usuario.

He optado por crear dos Slots (ó zócalos) así el usuario tiene la opción de guardar hasta dos partidas diferentes.


Inspirado por los e-mails de David, he decidido también introducir un teclado virtual que no empleee ninguna función nativa de iOS. Esto me permite personalizarlo a mi gusto y según mi propio diseño.


De todas formas, no descarto utilizar algunas funciones de iOS, siempre y cuando no desentonen (en cuanto a diseño y aspecto) con el resto de la aplicación.

17 de febrero de 2011

Renovando las "keys"


Esta pasada noche intentando compilar la aplicación para iOS me encuentro con un error de los más simples que puede mostrarnos xCode; licencia caducada.

Renové hace unos días la licencia "Apple Developer Program", pero aún no me he puesto a generar las nuevas keys necesarias para firmar las aplicaciones...

Así que hoy toca precisamente eso, generar las claves, pasarlas a los iDevices y ya estará todo de nuevo listo para probar en la misma máquina. ;-)

13 de febrero de 2011

Añadiendo el menú y opciones

He montado un sencillo sistema de botones y control de menú. Ahora la aplicación arranca mostrando un menú con diferentes opciones.


Como en la pantalla opciones se pueden modifcar dos variables, he añadido también una función de guardado de configuración (automático y transparente al usuario).


Esta función se ejecuta al iniciar la aplicación y comprueba que exista un fichero con las variables mínimas de configuración. En caso contrario, se genera "litiopixel.cfg" con los parámetros por defecto.

10 de febrero de 2011

Video HD - Test Movimiento y carga de mapas 1


Sencillo test de movimiento y control de personaje. Test "tocar y recoger" objetos. Test de carga de niveles y variables que se transfieren de nivel a nivel (Luz).

Recomiendo activar la versión 720p en el reproductor de YouTube.

8 de febrero de 2011

"GLBasic V9 is out"

Hello Kitty anuncia en el blog oficial de GLBasic la publicación de la versión 9 del entorno. Como siempre con novedades interesantes. En dos días actualizo, ahora mismo tengo el asunto complicado...

Imágenes para el blog

Esta tarde estaba buscando imágenes de calidad para el blog, cuando el amigo Google me ha llevado a una página muy interesante para mí por tratar el tema de síntesis de imágenes por ordenador.

La web es ignorancia.org, un sitio donde Jaime Vives muestra sus diseños con POV-Ray y MegaPOV.

Su trabajo es muy bueno y me recuerda que tengo muy olvidado a Curly Egg 3D, el blog sobre modelos de diseño propio con SketchUp que comparto con mi hermano.

Desde aquí, muchas gracias Jaime. ;)

Mejorando la función CODEPRINT

Como ya he comentado, he desarrollado una función propia para pintado de textos multicolor en pantalla. La idea es muy simple... envío a la función CODEPRINT un texto similar a esto: "^C^THello^E^TWorld".


El funcionamiento de la función es muy simple; se recorre el contenido de la cadena de texto y se extraen los "comandos" para su interpretación.

De esta manera, basta con hacer una llamada a CODEPRINT Texto$,X,Y,Color_Base para tener el texto en pantalla con los añadidos programados. (Color_Base es la tinta empleada para escribir por defecto, aunque por comando se puede modificar como se muestra en la imagen).

Los comandos hasta el momento son éstos:

^T - Cadena de texto.
^E - Retorno de carro (enter).
^C - Color del texto.
^+ - Sangría a la derecha n espacios.
^- - Sangría a la izquierda n espacios.

Los introducidos en esta ocasión son los encargados de "sangrar" los textos.


Código empleado para la muestra de la pantalla adjunta:

CODEPRINT("Texto de muestra^E^+02^TTest de Alineación^E^-08^TDesplazando ^C2^Ttextos",290,300,5)

4 de febrero de 2011

3 de febrero de 2011

¡A por los objetos!

Una vez finalizada toda la lógica de control del personaje principal, así como la detección de trampas y puertas... viene el momento de activar las funciones de control de objetos en el mapa.


Voy a reutilizar todo el código que desarrollé para la versión iPhone, así que espero que esta operación sea de lo más rápida.

¡AL ATAQUE!

Función TOUCH reparada...

Llevaba unos días volviéndome loco; la función de detección de pantalla funcionaba aparentemente correctamente. Al compilar para iOS detecté en el dispositivo que en ocasiones el personaje se detenía y quedaba bloqueado sin posibilidad de ordenarle otro punto de destino.


Afortunadamente ayer encontré la causa del error: si se selecciona una posición de destino NO válida (por ejemplo un muro), las variables TOUCH_Pulsacion_Pantalla y TOUCH_Pulsacion_Pantalla_Mapa se quedan con valor 1. Evidentemente si se deja de pulsar la pantalla éstas deben contener 0.

Problema solucionado. Un tema menos.

2 de febrero de 2011

Modificando la rutina Control_TOUCH

Pues nada, que como soy ¿demasiado? perfeccionista, he vuelto a darle vueltas a la rutina que controla tocar la pantalla.


Hoy mismo la dejo lista ya al 100%