Hola, he decidido crear estos tutoriales de programación para ONElua, debido a que carece de ellos, así que les diré paso a paso, cómo obtener los beneficios de sus potentes funciones y de antemano agradezco a los autores del intérprete: gdljjrod & Rober Galarga por la creación de ONElua.
Vamos es hora de una aventura más en la programación!
Como imprimir texto en la pantalla del PSP?
Para mostrar texto en pantalla existen varias funciones del módulo: screen, básicas y útiles en OneLua, por ejemplo:
screen.print(x, y, txt)
screen.print(10,10,"Hola Funciona!")
Con esta línea se dibujara el texto: "Hola Funciona!" en el buffer primario o de dibujado, pero aún no es visible. Para poder visualizarlo, tendremos que llamar a la función screen.flip(), cuya función es intercambiar los buffers, mostrando todo lo que esté en el buffer primario o de dibujado en la pantalla del PSP (el buffer primario o de dibujado quedará vacío al usar screen.flip, por lo que no es necesario limpiar la pantalla manualmente antes de empezar a dibujar de nuevo).
Sintaxis:
while true do
Es un bucle que se repite siempre y cuando la condición que pongamos entre las palabras "while" y "do" sea verdadera, como nosotros queremos que se muestre siempre, debemos forzar a una condición verdadera, escribiendo "true". Indicando la delimitación de este bucle con un end, lo utilizamos normalmente en el código para que no termine hasta que lo deseemos, y así no termine y salga al XMB al hacer el primer ciclo.
Entonces nuestro código, quedaría de la siguiente manera:
while true do screen.print(10,10,"Hola Funciona!") screen.flip() end
Guardamos nuestro código en el script.lua, y lo debemos colocar a lado del eboot del intérprete ONElua, ahora solo ejecutamos el intérprete desde el psp y obtendremos nuestra primera obra:
Bien, Si todo va bien, hasta aquí, continuemos, de lo contrario vuelve a la explicación.
El módulo screen de ONElua, ofrece muchas utilidades más, por ejemplo: texto de color definido, tamaño definido, color de sombra definido o una fuente definida.
Aquí ya tenemos una función más avanzada:
screen.print(x,y,string txt,tamaño,color de letra,color de sombra)
Ahora bien, te preguntaras como hago un objeto de tipo color?
Utilizamos la función del módulo color:
color.new(R,G,B)
Con esto podemos crear un nuevo color sólido a partir de los valores especificados (entre 0 y 255 para cada canal).
NOTA: Para conocer más funciones del módulo color y del módulo screen visite la Documentación Oficial de ONElua.
Para utilizarlo se carga sobre una variable, que contendrá el objeto color.
Rojo = color.new(255,0,0)
Ahora vemos que nuestra variable, en este caso la que hemos llamado Rojo, almacenará el objeto color, que le retornara y creara la función color.new(rgb).
Ahora que sabemos cómo utilizar los colores en ONElua, estamos listo para experimentar con la función que comentábamos previamente.
Ejemplo:
--Creamos dos colores --Color para la letra Rojo = color.new(255,0,0) --Color para la sombra Azul = color.new(0,0,255) --Iniciamos el bucle while while true do --Llamamos a la función print del módulo screen. screen.print(10,10,"Hola Funciona otro color y con sombra!",0.7,Rojo,Azul) --Mostramos lo que esté en el buffer screen.flip() end
Ohhhh aquí nuestro code en pantalla:
Además debemos recordar que este intérprete cuenta con muchas utilidades, que claro sirven para facilitar la vida. El code anterior hubiera quedado así, si nos limitamos a tener que crear colores básicos, como en luadev. Pero en OneLua cabe la posibilidad de llamar a la función:
color.loadpalette()
La cual nos creara una paleta de 17 colores básicos, listos para usarse.
De tal manera que llamamos a la paleta con el color.color básico, en color básico nombrado en ingles claro.
color.red color.green color.blue
Ejemplo:
color.loadpalette() while true do screen.print(10,10,"Hola Funciona otro color y con sombra!",0.7,color.red,color.blue) screen.flip() end
Como podemos observar obtenemos el mismo resultado:
Como pueden observar sigue igual y nos ahorramos líneas en el código, para crear 17 colores, basta con una sola línea.
Recuerda, que puedes imprimir con las anteriores funciones, no solo texto así entre las comillas "mi texto ", sino que también puedes crear una variable string e imprimirla.
Ejemplo:
Saludo = "Hola" screen.print(10,10,Saludo)
Bien con esto llegamos al final de este tutorial screen para OneLua. En la próxima, comenzaremos con las funciones del Módulo Buttons para OneLua. Saludos!
Comentarios
Excelente
Muchas gracias por compartir tu experiencia con nosotros, ahora podemos poco a poco desarrollar nuestros propios homebrews, gracias!!
Gracias
Gracias por el tutorial, esperamos nuevas entregas....
Hola Gdl.
Hola, gracias por compartir, este pequeño esfuerzo para explicar los modulos de Onelua,
Claro que habran mas entregas, OneLua, es el potente interprete y merece mas atencion.
Saludos, y gracias por crear Onelua.