Ver Mensaje Individual
Antiguo 02/04/09, 19:46:27   #1
Dark_Zeus
Junior Member
 
Fecha de Ingreso: Sep 2008
Mensajes: 16
Thanks: 4
Thanked 24 Times in 6 Posts
Dark_Zeus por el buen camino
Smile [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
Dark_Zeus is offline   Responder Con Cita
The Following 2 Users Say Thank You to Dark_Zeus For This Useful Post:
fl_enoc (03/04/09), mst (01/26/11)