| Junior Member Fecha de Ingreso: Sep 2008 Mensajes: 16 Thanks: 4 Thanked 24 Times in 6 Posts | [Explicación] Funcionamiento de Hello! Aprende Inglés
Hello! Aprende Inglés, un homebrew muy original, diseñado para la introducción al aprendizaje del idioma inglés, fácil de usar y con una muy cuidada interfaz gráfica.
Está programado en Lua esencialmente de la siguiente manera:
Cita: -El eboot.pbp arranca el archivo “system.lua”, en la carpeta System, el cuál da orden de iniciar el archivo “todopsp.lua” el cual carga la imagen de TDP, este tiene un temporizador de 2 segundos, para luego ejecutar “Login.lua”.
-“Login.lua” carga una imagen de “Iniciar Sesión”, y mediante un condicional “If pad:cross() then dofile("Menu.lua") end”, si presionas X, cargara el archivo “Bienvenida.lua” (carga la imagen de Bienvenida), el cual mediante también un condicional “If..”, si presionas X, cargara "Menu.lua”.
-“Menu.lua”, carga un fondo, y mediante condicionales, “If..”, si se presiona cierta tecla, como X, O, Cuadrado: ó Triangulo, te enviará a distintos archivos “.lua”, como Lecciones, Verbos, Vocabulario.
- El mismo sistema de Condicionales, “If…”, se ocupa en la mayoría de los archivos dentro de los submenús, siendo el gatillo “R”, la opción volver. | Inicia así:
System.lua (Archivo que arranca el Eboot.pbp)
Cita: --Dark_Zeus
--Hello!
dofile("todopsp.lua") -- ***Abre el archivo "todopsp.lua"*** | todopsp.lua (Carga la imagen de TodoPSP y luego de 2 segundos Abre "Login.lua")
Cita: --Dark_Zeus
TodoPSP = Image.load("Imagenes/todopsp.png") --*****Carga la Imagen de TodoPSP y se la asigna a la variable TodoPSP*****
ztiempo = Timer.new() --****Para el temporizador..****
while true do --***Bucle Pincipal***
screen:clear() --***Limpia la pantalla***
screen:blit(0,0,TodoPSP) --****Introduce la imagen con la variable antes designada TodoPSP****
xtiempo = ztiempo:time()
if xtiempo > 2000 then --***** Limitacion de 2 segundos para luego cargar un archivo lua******
dofile("Login.lua") -- *****Carga y ejecuta archivo LUA *****
end
screen.waitVblankStart() --******Espera hasta que la pantalla esté preparada para empezar a dibujar.*****
screen.flip() --*****Muestra en pantalla lo dibujado en "screen"*******
oldpad = pad
end | Login.lua (Carga un fondo de Login estilo Vista y al presionar X, abre el archivo "Bienvenida.lua")
Cita: --Dark_Zeus
--Hello!
--Login.lua
Login = Image.load("Imagenes/Login.png") --*****Carga la Imagen de Login y se la asigna a la variable Login*****
while true do
screen:blit(0, 0, Login, 0, 0, Login:width(), Login:height(), false) --****Introduce la imagen con la variable antes designada Login****
pad = Controls.read() ---***Esta función captura las teclas pulsadas en el teclado de la PSP. ****
if pad:cross() then ---*****Condicional If... si la X es presionada has esto,......****
dofile("Bienvenida.lua") -- *****Carga y ejecuta archivo LUA *****
end
screen.waitVblankStart() --******Espera hasta que la pantalla esté preparada para empezar a dibujar.*****
screen.flip() --*****Muestra en pantalla lo dibujado en "screen"*******
end | Bienvenida.lua (Carga la imagen de Bienvenida y al presionar X, abre el archivo "Menu.lua")
Cita: --Dark_Zeus
--Hello!
--Bienvenida.lua
Bienvenida = Image.load("Imagenes/Bienvenida.png") --*****Carga la Imagen de Bienvenida y se la asigna a la variable Bienvenida*****
while true do
screen:blit(0, 0, Bienvenida, 0, 0, Bienvenida:width(), Bienvenida:height(), false)--****Introduce la imagen con la variable antes designada TodoPSP****
pad = Controls.read()
if pad:cross() then --**Si presionas X, te lleva al menu.**
dofile("Menu.lua")
end
screen.waitVblankStart()
screen.flip()
end | Menu.lua (Carga el fondo del Menú y designa las teclas que abriran las demas ventanas.)
Cita: --Dark_Zeus
--Hello!
--Menu.lua
Menu = Image.load("Imagenes/Menu.png") --*****Carga la Imagen del Menu y se la asigna a la variable Menu*****
while true do
screen:blit(0, 0, Menu, 0, 0, Menu:width(), Menu:height(), false) --****Introduce la imagen con la variable antes designada Menu****
pad = Controls.read() ---***Esta función captura las teclas pulsadas en el teclado de la PSP. ****
if pad:triangle() then ---*****Condicional If... si el Triangulo es presionado Carga y ejecuta archivo "Lecciones.lua" ****
dofile("Lecciones.lua")
end
if pad:circle() then ---*****Condicional If... si O es presionado Carga y ejecuta archivo "Creditoslua" ****
dofile("Creditos.lua")
end
if pad:square() then ---*****Condicional If... si el Cuadrado es presionado Carga y ejecuta archivo "Verbos1.llua" ****
dofile("Verbos1.lua")
end
if pad:cross() then ---*****Condicional If... si la X es presionada Carga y ejecuta archivo "Vocabulario.lua" ****
dofile("Vocabulario.lua")
end
screen.waitVblankStart() --******Espera hasta que la pantalla esté preparada para empezar a dibujar.*****
screen.flip() --*****Muestra en pantalla lo dibujado en "screen"*******
end | 
Lecciones.lua (Se abre luego de presionar Triangulo en el Menu y dentro de ella se regresa al Menu con el gatillo "R".)
Cita: --Dark_Zeus
--Hello!
--Lecciones.lua
Lecciones = Image.load("Imagenes/Lecciones.png") --**Carga la imagen en la variable Lecciones**
while true do
screen:blit(0, 0, Lecciones, 0, 0, Lecciones:width(), Lecciones:height(), false)
pad = Controls.read()
if pad:r() then --**Si presionas R, regresar al Menu**
dofile("Menu.lua")
end
if pad:triangle() then --**Si presionas Triangulo, abre la 1era Leccion**
dofile("Leccion1.lua")
end
if pad:square() then --**Si presionas Cuadrado, abre la 2nda Leccion**
dofile("Leccion2.lua")
end
if pad:cross() then --**Si presionas X, abre la 3era Leccion**
dofile("Leccion3.lua")
end
if pad:circle() then --**Si presionas Circulo, abre la 4ta Leccion**
dofile("Leccion4.lua")
end
if pad:l() then --**Si presionas L , abre la 5ta Leccion**
dofile("Leccion5.lua")
end
screen.waitVblankStart()
screen.flip()
end | Creditos.lua (Se abre luego de presionar Circulo en el Menu y dentro de el se regresa al Menu con el gatillo "R".)
Cita: --Dark_Zeus
--Hello!
--Créditos.lua
Creditos = Image.load("Imagenes/Creditos.png") --**Carga la imagen**
while true do
screen:blit(0, 0, Creditos, 0, 0, Creditos:width(), Creditos:height(), false)
pad = Controls.read()
if pad:r() then --***Si presionas R, regresar al Menu Principal**
dofile("Menu.lua")
end
screen.waitVblankStart()
screen.flip()
end | Verbos1.lua (Se abre luego de presionar Cuadrado en el Menu, dentro de el se regresa al Menu con el gatillo "R" y se avanza presionando --> y se retrocede con presionando <-- o con el gatillo "R" .)
Cita: --Dark_Zeus
--Hello!
--Verbos.lua
verbos = Image.load("Imagenes/Verbos1.png") --**Carga la imagen**
while true do
screen:blit(0, 0, verbos, 0, 0, verbos:width(), verbos:height(), false)
pad = Controls.read()
if pad:r() then --***Si presionas R, regresar al Menu Principal**
dofile("Menu.lua")
end
if pad:right() then --***Si presionas -->, Abre Verbos 2**
dofile("Verbos2.lua")
end
screen.waitVblankStart()
screen.flip()
end | Vocabulario.lua (Se abre luego de presionar X en el Menu y dentro de el se regresa al Menu con el gatillo "R".)
Cita: --Dark_Zeus
--Hello!
--Vocabulario.lua
Voca = Image.load("Imagenes/Vocabulario.png") --**Carga Imagenes**
while true do
screen:blit(0, 0, Voca, 0, 0, Voca:width(), Voca:height(), false)
pad = Controls.read()
if pad:triangle() then --***Si presionas Triangulo, abre el archivo basico.lua**
dofile("basico.lua")
end
if pad:circle() then --***Si presionas Circulo, abre el archivo Numeros.lua**
dofile("numeros.lua")
end
if pad:square() then --***Si presionas Cuadrado, abre el archivo colores.lua**
dofile("colores.lua")
end
if pad:cross() then --***Si presionas X, abre el archivo dias.lua**
dofile("dias.lua")
end
if pad:r() then --***Si presionas R, regresa al Menu**
dofile("Menu.lua")
end
screen.waitVblankStart()
screen.flip()
end | El Funcionamiento Total del Programa funciona de esta manera, espero que les haya sido util esta info. a todos. 
Cualquier duda o pregunta, en la que les pueda ser útil  , yo muy feliz de ayudarles.
Muchas Gracias por su apoyo!, ... y Saludos a Todos!!
Última edición por Dark_Zeus fecha: 02/06/09 a las 18:27:54 |