Anuncios Google

Ayuda en LUA

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



¡Visca el Barça y Viva España!


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 P22

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

Imagen de _Dark_Cloud_

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!

Imagen de ktix007

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 

Imagen de rubenelportero

cuantas

cuantas opciones tiene tu menu, 2, 3, 4 ¿cuantos?

Imagen de _Dark_Cloud_

Tiene 3

Tiene 3 opciones.

Salu2

Imagen de rubenelportero

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,

 

Imagen de _Dark_Cloud_

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

Imagen de rubenelportero

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

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.