ayuda en codigo de lua

hola hasta hace muy poco empeze a programar en lua y llevo un codigo de un hb muy pequeño o simple el momento de la ejecucion

el caso es que en el menu tengo dos opciones entrar o salir y quiero que se note la que tengo seleccionada ya que no se sabe cual esta seleccionada este es mi codigo a ademas quiero saber los botones por que desttelan y para que una opcion funcione digamos salir hay que darle varias veces x aunque deveria ser solo 1 para que salga

blanco = Color.new( 255, 255, 255 )
negro = Color.new( 0, 0, 0 )
gris = Color.new( 127, 127, 127 )
rojo = Color.new( 255, 0, 0 )
verde = Color.new( 0, 255, 0 )
azul = Color.new( 0, 0, 255 )
 
inicio = Image.load("inicio.jpg")
entrar = Image.load("entrar.jpg")
plantarse = Image.load("plantarse.jpg")
cincuenta = Image.load("cincuenta.jpg")
llamada = Image.load("llamada.jpg")
publico = Image.load("publico.jpg")
salir = Image.load("salir.jpg")
 
oldpad = Controls.read() 
current = enter
current = salir
 
Mp3me.load("sonido1.mp3")
Mp3me.play()
 
while true do
 
screen:clear()
screen:blit(0,0,inicio)
screen.waitVblankStart()
screen.flip()
screen:blit(40,40,entrar)
screen.waitVblankStart()
screen.flip()
screen:blit(353,200,salir)
screen.waitVblankStart()
screen.flip()
 
oldpad = Controls.read() 
pad = Controls.read() 
 
if current == entrar and pad:right() and oldpad:right() ~= pad:right() then
current = salir
System.memclean()
end 
 
if current == salir and pad:left() and oldpad:left() ~= pad:left() then
current = entrar
System.memclean()
end 
 
if current == enter and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("script2.lua")
System.memclean()
end
 
if current == salir and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("exit.lua")
System.memclean()
end 
 
end


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.

Ok

te recomiendo seguir los Tutos de Pipagerardo: http://pipagerardo.fortunecity.es/Tutorial_LUA_PSP_pipagerar...

ahi te dan un ejemplo de un menu de seleccion:

blanco           = Color.new ( 255, 255, 255 )
 
negro             = Color.new (   0,   0,   0 )
 
pad, oldpad   = Controls.read(), pad
 
opcion_menu, opcion_max  = 1, 6
 
fin_sel_menu, fin_fin_menu = false, false
 
local function pinta_menu()
 
screen:clear( negro )
 
screen:print( 100, 80, "TUTORIAL DE UN MENU POR PIPAGERARDO." , blanco)
 
screen:print( 100, 90, "------------------------------------" , blanco)
 
screen:print( 200,100, "OPCION 1." , blanco)
 
screen:print( 200,110, "OPCION 2." , blanco)
 
screen:print( 200,120, "OPCION 3." , blanco)
 
screen:print( 200,130, "OPCION 4." , blanco)
 
screen:print( 200,140, "OPCION 5." , blanco)
 
screen:print( 200,150, "SALIR." , blanco)
 
if           opcion_menu == 1  then screen:print( 160, 100, "-1->" , blanco)
 
elseif     opcion_menu == 2  then screen:print( 160, 110, "-2->" , blanco)
 
elseif     opcion_menu == 3  then screen:print( 160, 120, "-3->" , blanco)
 
elseif     opcion_menu == 4  then screen:print( 160, 130, "-4->" , blanco)
 
elseif     opcion_menu == 5  then screen:print( 160, 140, "-5->" , blanco)
 
elseif     opcion_menu == 6  then screen:print( 160, 150, "-S->" , blanco)
 
end
 
screen.waitVblankStart() ; screen.flip()
 
end
 
repeat
 
pinta_menu()
 
repeat
 
pad = Controls.read()
 
if     pad:right() and not oldpad:right() then
 
opcion_menu = opcion_menu + 1
 
if opcion_menu > opcion_max then opcion_menu = 1 end
 
pinta_menu()
 
elseif pad:left() and not oldpad:left() then
 
opcion_menu = opcion_menu - 1
 
if opcion_menu < 1 then opcion_menu = opcion_max end
 
pinta_menu()
 
elseif pad:up() and not oldpad:up()   then
 
opcion_menu = opcion_menu - 1
 
if opcion_menu < 1 then opcion_menu = opcion_max end
 
pinta_menu()
 
elseif pad:down() and not oldpad:down() then
 
opcion_menu = opcion_menu + 1
 
if opcion_menu > opcion_max then opcion_menu = 1 end
 
pinta_menu()
 
end
 
if pad:cross() or pad:circle() then fin_sel_menu = true end
 
screen.waitVblankStart(2)
 
oldpad = pad
 
until fin_sel_menu
 
fin_sel_menu = false
 
screen:clear( negro )
 
if           opcion_menu == 1  then screen:print(200, 100, "OPCION 1.", blanco)
 
elseif     opcion_menu == 2  then screen:print(200, 110, "OPCION 2.", blanco)
 
elseif     opcion_menu == 3  then screen:print(200, 120, "OPCION 3.", blanco)
 
elseif     opcion_menu == 4  then screen:print(200, 130, "OPCION 4.", blanco)
 
elseif     opcion_menu == 5  then screen:print(200, 140, "OPCION 5.", blanco)
 
elseif     opcion_menu == 6  then screen:print(200, 150, "SALIR."   , blanco)
 
fin_fin_menu = true
 
end
 
screen.waitVblankStart(); screen.flip()
 
screen.waitVblankStart( 60 )
 
until fin_fin_menu
 
System.Quit()
 
 

 

Solo seria entenderlo y editarlo para que aparesca como tu dices.

Salu9

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.