Anuncios Google

Imprimiendo texto

Tutoriales Avanzados Homebrewmex

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!

Comenzamos:

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)

  • x es el valor numérico de la coordenada del eje X donde se mostrará (0 a 480).
  • y es el valor numérico de la coordenada del eje Y donde se mostrará (0 a 272).
  • txt es un string, con el texto que deseamos dibujar.

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)

  • x es el valor numérico de la coordenada del eje X donde se mostrará (0 a 480).
  • y es el valor numérico de la coordenada del eje Y donde se mostrará (0 a 272).
  • txt es el valor string del texto que deseamos dibujar.
  • tamaño es un valor numérico, normalmente menor de 1, default 0.7.
  • color de letra es un objeto tipo color, que será el color de la letra.
  • color de sombra es un objeto tipo color, que será el color de la 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)

  • R (Rojo) es un canal con un valor numérico entre 0 y 255.
  • G (Verde) es un canal con un valor numérico entre 0 y 255.
  • B (Azul) es un canal con un valor numérico entre 0 y 255.

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!

4.066665
Tu voto: Ninguno Votos totales: 4.1 (15 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Excelente

Muchas gracias por compartir tu experiencia con nosotros, ahora podemos poco a poco desarrollar nuestros propios homebrews, gracias!!

Imagen de gdljjrod

Gracias

Gracias por el tutorial, esperamos nuevas entregas....

Imagen de DevDavisNunez

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.




Legend of Zelda Userbar 1 photo LegendofZeldaUserbar.png

 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.