Hola estoy haciendo un menu simple para lua pero tengo un problema, al pulsar abajo deberia bajar una opcion, y lo hace pero si dejas de pulsar vuelve a la inicial :S
Aqui el codigo:
opcion = 0
if pad:up() then
opcion = opcion - 1
end
if pad:down() then
opcion = opcion + 1
end
Si alguien sabe que podria pasar que postee aqui mismo o me mande un MP ;)
Salu2
Esto es muy sencillo: Tu
Esto es muy sencillo:
Tu estas poniendo el opcion = 0 DENTRO del bucle , de tal manera , que tu pulsas y baja pero a la siguiente pasada vuelve a ser 0 , por eso sube.
Tienes que poner el opcion = 0 Fuera o ANTES del bucle while.
Pruebalo y vas a ver como funciona
¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.
Mi review: iPod Touch 4G
Bien!
De mis famosos errores tontos este es el peor xD (en C casi siempre olvido una llave o en Lua pongo printf xD)
Salu2 y muchas gracias ;)
¡Visca el Barça y Viva España!
prueba con esto (esta
prueba con esto (esta adaptado a LuaHM7, cambialo a LuaHMv2 si quieres) seguramente te funcionara:
rojo = Color.new(255,0,0)
blanco = Color.new(255,255,255)
oldpad = Controls.read()
opcion = 1
while true do
screen:clear()
pad = Controls.read()
if opcion == 1 then
screen:print(180,110,"Iniciar",rojo)
screen:print(180,150,"Creditos",blanco)
screen:print(180,190,"Salir",blanco)
end
if opcion == 2 then
screen:print(180,110,"Iniciar",blanco)
screen:print(180,150,"Creditos",rojo)
screen:print(180,190,"Salir",blanco)
end
if opcion == 3 then
screen:print(180,110,"Iniciar",blanco)
screen:print(180,150,"Creditos",blanco)
screen:print(180,190,"Salir",rojo)
end
if pad:up() and oldpad:up() ~= pad:up() and opcion > 1 then
opcion = opcion - 1
end
if pad:down() and oldpad:down() ~= pad:down() and opcion <= 2 then
opcion = opcion + 1
end
screen:flip()
oldpad = pad
end
cuantas
cuantas opciones tiene tu menu, 2, 3, 4 ¿cuantos?
Tiene 3
Tiene 3 opciones.
Salu2
m...
tu pones que si es pulsado arriba se le reste 1 a opcion y si es pulsado abajo se le sume 1 ¿no? no seria mejor poner esto:
opcion = 0
if pad:up() and opcion = 0 then
opcion = 0
end
if pad:down() and opcion = 0 then
opcion = 1
end
if pad:down() and opcion = 1 then
opcion = 2
end
if pad:up() and opcion = 1 then
opcion = 0
end
if pad:up() and opcion = 2 then
opcion = 1
end
if opcion = 0 then
aqui tu codigo
end
if opcion = 1 then
aqui tu codigo
end
if opcion = 2
aqui tu codigo
end
usa ese menu haber que tal te va, yo uso ese y me sirve, solo lo tienes que adaptar a tu codigo
saludos
PD. espero que te sirva,
Si estaba pensando en eso
Me sirve muchas gracias ;)
EDITO: Pues hace lo mismo al pulsar abajo baja una opcion pero si suelto vuelve a subir :S
Salu2
m...
entonces es un espediente X porque ese mismo menu me va bien ami... haber si tienes suerte y un coder con mas esperiencia que yo te lo soluciona
salu2