Tutorial: Capítulo 1  

Publicado por Wonderman Compartir!

Creacion de colores: en LUA se pueden crear colores usando la funcion Color.new(R,G,B), poniendo los valores de Red (Rojo), Green (Verde) y Blue (Azul) que forman el color y que tienen valores desde 0 (Color minimo) hasta 255 (Color maximo), por ejemplo rojo = Color.new(255,0,0) (el maximo del color rojo y el minimo de los otros 2) . Nota: podemos usar el Paint para saber los valores del color que queramos [Abrimos Paint >> Colores >> Modificar colores... >> Definir colores personalizados >>], hay nos aparecera una paleta de colores y abajo sus valores RGB. Bien, los colores se almacenan en variables, por ejemplo: blanco = Color.new(255,255,255). Para los mas nuevos, una variable es como un contenedor que esta en la memoria y que almacena un dato, que puede ser un numero o otro tipo de dato, y que se define con un identificador que se recomienda que sea una palabra que nos sirva para recordar, por ejemplo, miedad = 18. Por lo demas, no hay mucho mas que saber sobre el manejo de los colores.

Mostrar texto en pantalla: antes de explicar la funcion screen:print() que sirve para imprimir texto en la pantalla, hay que entender algunos conceptos previos, en LUA todo programa necesita tener un bucle principal para funcionar, que se define asi:

while true do

... instrucciones ...
... instrucciones ...
... instrucciones ...

end

- Asi, todo lo que pongamos dentro del bucle principal (entre el while true do y el end) se repetira eternamente, a menos que usemos la funcion break, pero eso lo veremos mas adelante. Ademas si queremos que se muestre texto o otros objetos por la pantalla el bucle debera contener las funciones:

screen:waitVblankStart()
screen:flip()

- No hace falta saber como funcionan estas funciones, tan solo que se deben poner dentro del bucle principal, generalmente al final, como ultima instruccion. Bien, otra funcion util es screen:clear(), que lo que hace es limpiar la pantalla de todo lo que se mostraba en ella. LUA PSP funciona a unos 60 frames por segundo, esto es, el bucle principal se repite 60 veces en un segundo. Si no usamos screen:clear(), la pantalla que se imprimio en el ultimo bucle se queda y en el siguiente bucle se imprime sobre esta. Esto es perceptible cuando hay imagenes en movimiento, por ejemplo, si imprimo en la pantalla la palabra "Hola mundo" en la posicion (10,10) y en el siguiente bucle se imprime en la posicion (10,20), se mostraran 2 "Hola mundo", si usara screen:clear() solo se mostraria el ultimo. Si no lo entiendes ahora, tranquilo, ya lo entendera con la practica. Bien, vayamos a la funcion screen:print(X,Y,"Texto",Color), X y Y son las coordenadas de la pantalla de la PSP, que tiene unas dimensiones de 480x272, 480 pixeles de largo y 272 de largo, asi la posicion (0,0) es la esquina superior izquierda de la pantalla, y la posicion (480,272) es la esquina inferior derecha.


Lo que queremos imprimir lo tenemos que poner entre comillas, y por ultimo, el color del texto, creado anteriormente. Por ejemplo: screen:print(10,10,"Hola mundo",blanco)

Bien, con todo lo explicado, ya somos de capaces de crear nuestro primer programa ( '--' el doble guion se utiliza en LUA para poner comentarios, muy utiles en los programas muy largos, que generalmente se utilizan para recordar que hace una parte del programa)

blanco = Color.new(255,255,255)
--Creamos el color blanco

while true do
--Comienza el bucle principal, todas las instrucciones a partir de aqui hasta el 'end' se repetiran indefinidamente

screen:clear()
--Se limpia la pantalla, se borra todo lo que havia imprimido en la pantalla

screen:print(10,10,"Hola mundo",blanco)
--Se imprime en la pantalla el texto Hola mundo en la posicion (10,10) y de color blanco

screen:waitVblankStart()
screen:flip()
--Funciones necesarias para mostrar graficos en pantalla
end

Resultado:


Posts Relacionados

Se el primero en comentar!

Publicar un comentario