Problema Lua

Bueno vereis tengo un problema en lua me he decidido ha empezar a hacer un menú con mas de 2 funciones usando una variable y sumando y restandole números a esa variable y tengo un problema y es que no funciona correctamente el menu , se desplaza rápidamente aunque ponga oldpad y cuesta trabajo situarlo

Aqui el codigo:

menu = Image.load("./Imagen/menu.jpg")
menu1 = Image.load("./Imagen/menu1.jpg")
menu2 = Image.load("./Imagen/menu2.jpg")
menu3 = Image.load("./Imagen/menu3.jpg")
menu4 = Image.load("./Imagen/menu4.jpg")
 
imagen = 1
 
oldpad = Controls.read()
 
while true do
 
pad = Controls.read()
 
if imagen== 1 then
screen:blit(0,0,menu)
end
 
if imagen== 2 then
screen:blit(0,0,menu1)
end
 
if imagen== 3 then
screen:blit(0,0,menu2)
end
 
if imagen== 4 then
screen:blit(0,0,menu3)
end
 
if imagen== 5 then
screen:blit(0,0,menu4)
end
 
if pad:down() and not oldpad:down() then
imagen = imagen +1
end
 
if pad:up() and not oldpad:up() then
imagen = imagen -1
end
 
if imagen > 5 then
imagen = 1
end
 
if imagen < 1 then
imagen = 5
end
 
if pad:cross() and imagen== 1 then
dofile("./seleccionar.lua")
end
 
if pad:cross() and imagen== 2 then
System.runeboot("./actualizadorV300/EBOOT.PBP")
end
 
if pad:cross() and imagen== 3 then
System.message("Opcion no disponible en esta version",0)
end
 
if pad:cross() and imagen== 4 then
System.message("Opcion no disponible en esta version",0)
end
 
if pad:cross() and imagen== 5 then
System.Quit()
end
 
screen.flip()
 
end

 

Uso Luaplayar HM7

 

Gracias de antemano.

NOTA:Cualquier persona que use este codigo modifique o adapte este código tendra que mencionar a su autor original(yo)


Anuncios Google

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.
Imagen de moikop

...

--Renombra la imagen menu a menu0
 
menu = {}
 
for i = 0, 4 do
    menu[i+1] = Image.load(System.currentDirectory().."/Imagen/menu"..i..".jpg")
end
 
imagen = 1
 
oldpad = Controls.read()
 
while true do
 
pad = Controls.read()
 
screen:blit(0,0,menu[imagen])
 
if pad:down() and not oldpad:down() then
imagen = imagen +1
end
 
if pad:up() and not oldpad:up() then
imagen = imagen -1
end
 
if imagen >= 6 then
imagen = 1
end
 
if imagen <= 0 then
imagen = 5
end
 
if pad:cross() and not oldpad:cross() then
if imagen == 1 then
dofile("./seleccionar.lua")
elseif imagen == 2 then
System.runeboot("./actualizadorV300/EBOOT.PBP")
elseif imagen == 3 then
System.message("Opcion no disponible en esta version",0)
elseif imagen == 4 then
System.message("Opcion no disponible en esta version",0)
elseif imagen == 5 then
System.Quit()
end
 
screen.flip()
screen.waitVblankStart()
oldpad = pad
 
end

Te doy este código para que lo estudies y lo analices. Y cada duda que tengas, la puedes preguntar sin miedo ;-)
Un saludo.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Imagen de carlossg

Lo

estoy estuiando y mas o menos lo entiendo y me estoy dando cuenta de que mi codigo era un verdadero desastre

Imagen de dayron_1379

menu =

menu = Image.load("./Imagen/menu.jpg")
menu1 = Image.load("./Imagen/menu1.jpg")
menu2 = Image.load("./Imagen/menu2.jpg")
menu3 = Image.load("./Imagen/menu3.jpg")
menu4 = Image.load("./Imagen/menu4.jpg")
 
imagen = 1
 
oldpad = Controls.read()
 
while true do
 
pad = Controls.read()
 
f imagen== 1 then
screen:blit(0,0,menu)
end
 
if imagen== 2 then
screen:blit(0,0,menu1)
end
 
if imagen== 3 then
screen:blit(0,0,menu2)
end
 
if imagen== 4 then
screen:blit(0,0,menu3)
end
 
if imagen== 5 then
screen:blit(0,0,menu4)
end
 
 
if controls.press("up") then current = math.max(current -1,1); end
 
if controls.press("down") then current = math.min(current +1,5); end
 
if pad:cross() and imagen== 1 then
dofile("./seleccionar.lua")
end
 
if pad:cross() and imagen== 2 then
System.runeboot("./actualizadorV300/EBOOT.PBP")
end
 
if pad:cross() and imagen== 3 then
System.message("Opcion no disponible en esta version",0)
end
 
if pad:cross() and imagen== 4 then
System.message("Opcion no disponible en esta version",0)
end
 
if pad:cross() and imagen== 5 then
System.Quit()
end
 
screen.flip()
 
end

eso es una mezcla de hm y

eso es una mezcla de hm y luadev, en luadev seria asi:

menu = image.load("./Imagen/menu.jpg")
menu1 = image.load("./Imagen/menu1.jpg")
menu2 = image.load("./Imagen/menu2.jpg")
menu3 = image.load("./Imagen/menu3.jpg")
menu4 = image.load("./Imagen/menu4.jpg")
 
imagen = 1
 
while true do 
 
controls.read()
 
if imagen== 1 then 
image.blit(0,0,menu)
end
 
if imagen== 2 then 
image.blit(0,0,menu1)
end
 
if imagen== 3 then 
image.blit(0,0,menu2)
end
 
if imagen== 4 then 
image.blit(0,0,menu3)
end
 
if imagen== 5 then 
image.blit(0,0,menu4)
end
 
 
if controls.press("up") then current = math.max(current -1,1); end
 
if controls.press("down") then current = math.min(current +1,5); end
 
if controls.press("cross") and imagen== 1 then
dofile("./seleccionar.lua")
end
 
if controls.press("cross") and imagen== 2 then
os.runeboot("./actualizadorV300/EBOOT.PBP")
end
 
if controls.press("cross") and imagen== 3 then s
ystem.message("Opcion no disponible en esta version",0)
end
 
if controls.press("cross") and imagen== 4 then 
system.message("Opcion no disponible en esta version",0)
end
 
if controls.press("cross") and imagen== 5 then system.quit()end
 
screen.flip()
 
end

 

Imagen de carlossg

OK

Pero tu código tiene un fallo en el primer if no pone if sino f y no hay una variable definida como controls y me tira un error

Imagen de dayron_1379

adaptalo a tu codigo supongo

adaptalo a tu codigo supongo que entienedes lo que quiero decir si no puedes resolver algo solo dime ps yo uso lua dev por eso lo de controls

Imagen de moikop

Eso, Luadev? XD

Tu código no es "LuaDev". Tu código más bien parece un hibrido entre LuaDev y HM...

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.