Anuncios Google

Ayuda con menú en lua!!!

 

Saludos!!!!!

Weno mi problea es que soy nuevo en este mundo de programacion mayormente en lua, pues tengo un pequeño problema y espero de que puedan ayudarme.

 

1- Estoy creando un homebrew y este tienes 12 iconos de fondo y me gustaria saber como puedo colocar una imagen de selector de esos iconos, osea cuando presione el pad e cualquier direcciones este selector este seleccionandome unos de esos iconos.

Pues aqui dejo la ruta de los iconos en la psp.

 

        screen:blit(45,12,imgOpcion1)

  screen:blit(45,85,imgOpcion2)

screen:blit(45,158,imgOpcion3)

screen:blit(145,12,imgOpcion4)

screen:blit(145,85,imgOpcion5)

screen:blit(145,158,imgOpcion6)

screen:blit(245,12,imgOpcion7)

screen:blit(245,85,imgOpcion8)

screen:blit(245,158,imgOpcion9)

screen:blit(345,12,imgOpcion10)

screen:blit(345,85,imgOpcion11)

screen:blit(345,158,imgOpcion12)

 

 

Espero su ayuda.

Gracias!!!

 


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.

Como puedo

Como hago para que cuando tenga la imagen localizada en unos de esas opciones y al ejecutar X, ejecute la aplicacion, en mi caso es un eboot.pbp, por ejemplo en estos tres ?

 

if current == 1 then
	screen:blit(40,5,seleccion)  
end 
 
	if  current == 2 then   
	screen:blit(40,78,seleccion)
end
 
	if current == 3 then
	screen:blit(40,151,seleccion)
end
 
Saludo!!!!

 

Imagen de moikop

Simple

if pad:cross() then
    if current == 1 then
         System.runeboot("ms0:/lo/que/sea.pbp")
    elseif current == 2 then
        ...
    elseif current == 3 then
        ...
    end
end


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 Chimecho

te recomiendo que pases por aquí

No he leido tu código, no se si está bien o está mal, pero nunca está de más aprender ;)

http://psp.scenebeta.com/node/52245#comment-382275

creo que el código que has puesto funciona :)

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Lo hice

Lo hice de esta manera, estará bien así ?

---Cargando imagenes---
menu = Image.load("ms0:/PSP/GAME/proyecto/Imagenes/menu.png")
seleccion = Image.load("ms0:/PSP/GAME/proyecto/Imagenes/selector.png")
 
current = 1;
 
 
 --Bucle principal---
while true do
	screen:clear()
 
	pad = Controls.read()
 
	screen:blit(3,0, menu)
 
	---Moviendo el pad arriba y abajo---
	if pad:down() then
	current = current + 1
	System.sleep(100)
 
end
 
	if pad:up() then
	current = current - 1
	System.sleep(100)
end
 
       --Moviendo el pad derecha e izquierda----
        if pad:right() then
	current = current + 3
	System.sleep(200)
 
end
 
	if pad:left() then
	current = current - 3
	System.sleep(200)
end
 
 
	if current < 1 then
	current = 12
end
 
	if current > 12 then 
 	current = 1
end
 
------para que poner la imagen seleccion----
 
	if current == 1 then
	screen:blit(40,5,seleccion)  
end 
 
	if  current == 2 then   
	screen:blit(40,78,seleccion)
end
 
	if current == 3 then
	screen:blit(40,151,seleccion)
end
 
	if current == 4 then
	screen:blit(140,5,seleccion)  
end 
 
	if  current == 5 then   
	screen:blit(140,78,seleccion)
end
 
	if current == 6 then
	screen:blit(140,151,seleccion)
end
 
	if current == 7 then
	screen:blit(240,5,seleccion)   
end 
 
	if  current == 8 then   
	screen:blit(240,78,seleccion)
end
 
	if current == 9 then
	screen:blit(240,151,seleccion)
end
 
	if current == 10 then
	screen:blit(340,5,seleccion)  
end 
 
	if  current == 11 then   
	screen:blit(340,78,seleccion)
end
 
	if current == 12 then
	screen:blit(340,151,seleccion)
end
 
 	screen.flip()
	screen.waitVblankStart()
end

 

 

Imagen de Ioannes Carolus

Por ejemplo...con tu primera

Por ejemplo...con tu primera imagen

contol = Controls.read()

screen:blit(45,12,imgOpcion1)

estadoicono = "activo"

 

---Debes establecer las condiciones para que aparezca tu primera imagen...ahí si es...bien personal---

If estadoicono == "activo" then

if x0... and....x0....and....y0....and....y0...(establece aqui las coordenadas donde está el icono) and control:squeare() then -Aquí estás diciendo que si el cursor está posicionado en algún lugar...y se presiona el botón cuadrado...entonces...-

screen:blit(45,12,imgOpcion2) -Suponiendo que es una segunda imagen del mismo icono con alguna modificación en el tono...para dar la apariencia de que ha sido seleccionado.

estadoicono = "ejecutado"

end

end

if estadoicono == "ejecutado" then

if x0... and....x0....and....y0....and....y0...and control:square() then (Efecto doble "click". Si sólo quieres que el icono cambie cuando pasa el cursor sobre éste, quita la condición pad:square() de unas líneas arriba).

(Aqui pones ya sea el redireccionamiento a otro script...la ejecución de alguna función...etc...dependiendo de que es tu icono).

estadoicono = nil (Con esto último el icono vuelve a la apariencia de la primera imagen)

end

end

 

Saludos!!!


No entiendo

No entiendo bien lo que me dices.

Recuerda que soy noob en estos !

 

Ej: La imagen que quiero controlar en las rutas de donde estan ubicadas las demas la he llamado select  y las rutas de donde quiero que cuando presione el pad la imagen select sea controlada por el pad.

 

 

 

Imagen de --Gomasz--

pues

ejemplo:

imagen1 = Image.load("Ruta imagen")
imagen2 = Image.load("Ruta imagen")
imagen3 = Image.load("Ruta imagen")
 
seleccion = Image.load("Ruta imagen")
 
current = {1} --creamos una tabla
 
While true do
 
screen:clear()
 
pad = Controls.read()
 
---imprime tus imagenes yo mis 3 XD --  recuerda que aqui yo las imprimo  para que la seleccion quede encima de las imagenes de las opciones depende de tu imagen de seleccion si tiene transparencia etc... --
 
screen:blit("x,y,imagen1 ")
screen:blit("x,y,imagen2 ")
screen:blit("x,y,imagen3 ")
 
 
 
 
---el menu-- si pulso abajo suma 1 a current y si pulso arriba resta 1 a current--
 
if pad:down() then
current[1] = current[1] + 1
System.sleep(100)-- pone el una pausa de 100 milisegundos para que al pulsar no baje muy rapido la seleccion--
 
end
 
if pad:up() then
current[1] = current[1] - 1
System.sleep(100)
end
 
------aqui depende de tus opciones yo tengo 3 ---
 
if current[1] < 1 then---aqui dice XD current es menor a 1 entoces es 0 su valor
current[1] = 1
end
 
-
 
if current[1] > 3 then -- aqui dice current es mayor a 3(las opciones que tengas para tu menu yo tengo 3) entonces el valor de curren es 4---
 
current[1] = 1
end
 
 
------opciones del menu y para que ponga tu imagen seleccion recuerda que yo tengo solo 3 opciones 
 
if current[1] == 1 then
screen:blit(x,y,seleccion)   --- imprime imagen de seleccion en la opcion 1 y asi
end 
 
if  current[1] == 2 then                                  al pulsar arriba o abajo---
screen:blit(x,y,seleccion)
end
 
if current[1] == 3 then
screen:blit(x,y,seleccion)
end
 
 
 
screen.flip()
screen.waitVblankStart()
end
 
--espero se entienda XD 

Saludos



\\m// ₪₪₪₪₪₪--  ☠ ☠ ☠ ☠ ☠ ☠ --₪₪₪₪₪₪ \\m//

No hace falta ninguna

No hace falta ninguna tabla:

imagen1 = Image.load("Ruta imagen")
imagen2 = Image.load("Ruta imagen")
imagen3 = Image.load("Ruta imagen")
seleccion = Image.load("Ruta imagen")
 
current = 0  --variable normal y corriente
 
while true do
 
screen:clear()
 
pad = Controls.read()
 
---imprime tus imagenes yo mis 3 XD --  recuerda que aqui yo las imprimo  para que la seleccion quede encima de las imagenes de las opciones depende de tu imagen de seleccion si tiene transparencia etc... --
 
screen:blit("x,y,imagen1 ")
screen:blit("x,y,imagen2 ")
screen:blit("x,y,imagen3 ")
 
 
 
 
---el menu-- si pulso abajo suma 1 a current y si pulso arriba resta 1 a current--
 
if pad:down() then
current = current + 1
System.sleep(100)-- pone el una pausa de 100 milisegundos para que al pulsar no baje muy rapido la seleccion--
 
end
 
if pad:up() then
current = current - 1
System.sleep(100)
end
 
------aqui depende de tus opciones yo tengo 3 ---
 
if current < 1 then --aqui dice si current es menor a 1 entoces es 1 su valor
current = 1
end
 
-
 
if current > 3 then -- aqui dice current es mayor a 3(las opciones que tengas para tu menu yo tengo 3) entonces el valor de curren es 4---
 
current = 1
end
 
 
------opciones del menu y para que ponga tu imagen seleccion recuerda que yo tengo solo 3 opciones 
 
if current == 1 then
screen:blit(x,y,seleccion)   --- imprime imagen de seleccion en la opcion 1 y asi
end 
 
if  current== 2 then                                  al pulsar arriba o abajo---
screen:blit(x,y,seleccion)
end
 
if current == 3 then
screen:blit(x,y,seleccion)
end
 
 
 
screen.flip()
screen.waitVblankStart()
end
 
--espero se entienda XD 


We're off now to seek all our fortunes to the land... of... our dreams

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.