Anuncios Google

Problema Menu Lua

Hola me da un error y el contenido es este:

 

menu1 = Image.load("ms0:/Prueba Lua/System/Foto.jpg")
menu2 = Image.load("ms0:/Prueba Lua/System/Foto 2.jpg")
menu3 = Image.load("ms0:/Prueba Lua/System/Foto 3.jpg")
menu4 = Image.load("ms0:/Prueba Lua/System/Foto 4.jpg")
menu5 = Image.load("ms0:/Prueba Lua/System/Foto 5.jpg")

--Variables--
while true do
opcion = 1
pad = Controls.read()

--Variables del menu--
if opcion == 1 then
screen:blit(0,0, menu1)
end

if opcion == 2 then
screen:blit(0,0, menu2)
end

if opcion == 3 then
screen:blit(0,0, menu3)
end

if opcion == 4 then
screen:blit(0,0, menu4)

end

if opcion == 5 then
screen:blit(0,0, menu5)
end

--Movimiento--
if pad:up() then
opcion = opcion-1
end

if pad:down() then
opcion = opcion+1
end

if pad:down() and opcion>=5 then
opcion = 5
end

if pad:up() and opcion<=1 then
opcion = 1
end

screen.flip()
screen.waitVblankStart()
oldpad = pad
end

 

El error es que ahora me carga la imagen definida como "menu1" pero al darle a los botones no cambia de imagen.

 

Y mi pregunta es ¿Por que puede ser?


              Mod VS Spammer"Si Se Puede Soñar, Se Puede Lograr"

               ¿Quieres Un IPad 2 Gratis? Pasate por aqui.


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 trom_us

codigo probado

opcion = 0
last = -1
cont=0
oldpad="" 
while true do
   pad = Controls.read()
 
 if pad~=oldpad then --impedira la redundancia
 
   oldpad=pad 
-- impedira que entre al menu, hasta que ambas sean diferentes
-- , aunque creo entra una segunda vez, habria que poner otro separador
 
   if pad:up() and opcion > 0 then
      opcion = opcion -1
   end
 
   if pad:down() and opcion < 5 then
 -- 5 es tu total de imagenes del menu, lo cual podras cambiar a las que necesites.
      opcion = opcion +1
   end
 
   if pad:triangle() then 
--para salir de este while, lo cual podrias usar, para indicar 
--que menu seleccionaste    	
    break
   end
 
 
   if opcion ~= last then -- impedira lecturas inecesarias
    last = opcion
 
    menu = Image.load("ms0:/Prueba Lua/System/foto" .. tostring(opcion))  ..  ".jpg")  
--te permitira usar mil,dolmil, las imagenes de menu que quieras
--, sin limitarlo a la memoria. numero las fotos como foto1,foto2,etc...	
 
    screen:blit(0,0, menu) 
--el uso de la funcion completa usando FALSE
--, es mucho mas rapida que TRUE
 
    screen.waitVblankStart() 
--opcional, pero va antes, ya que es wait<-espera antes de...
 
    screen.flip()   
   end 	
 end
 
end
 
-- aveces es necesario escribir muchas lineas, pero esto devera ser con el fin
-- de acelerar u obtimizar el codigo para que su rendimiento sea ecepcional.

el codigo anteriro, te permitira usar un numero ilimitado de imagenes ya sea mil, dolmil, etc...

esta optimizado para no malgastar tiempo en la psp, y optimizado para lecturas redundantes, etc...

checatelo. con esto podrias hacer todo un visor de imagenes de la carpeta pictures...

...solo tendrias que cambiar el numero de la opcion por el total de archivos en un listdirectory, y llamarlo en la tabla segun su numero...saludos.

aqui tu respuesta

solucion

 

entra hay y veras

Imagen de pspgorrister

Menuda solución. Venga,

Menuda solución.

Venga, hazme un menú con 300 opciones con esa "solución", si puede ser sin usar CTRL-C, CTRL-V.

tienes k decirlo asi??

no entiendo como es la jente aki ash

 

xd

Imagen de klozz

se man te recomiendo agas lo

se man te recomiendo agas lo que dice pspgorrister lo que puso
aqui

Imagen de Duende68

Entonces...

Que tengo k poner????

Yo te recomendaria tomaras el

Yo te recomendaria tomaras el consejo de pspgorrister y modificaras tu menu y lo reescribas de la forma que el lo ha hecho pero estudialo para quelo comprendas y asi aprendes y te ahorra lineas.

Recuerda que o importante de esto no es sacar un Homebrew ni decir lo logre si no comprender lo que hicimos si no de nada sirve.

Imagen de Chimecho

Bueno si

pspgorrister tiene toda la razón, pero..

Esto:

("ms0:/Prueba Lua/System/Foto" + n + ".jpg")

Va así:

("ms0:/Prueba Lua/System/Foto" .. n .. ".jpg")

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 -_-

Las variables ponlas fuera

Las variables ponlas fuera del bucle sino simpre va a se 1.

Imagen de Chimecho

xDDDDDDDDDDDDDDDDDDDDDDDDDDD

nadie leyo??

miren esto..

while true do
opcion = 1
pad = Controls.read()

ENTRE esas tres líneas está el error...

Joder tienes toda la razon,

Joder tienes toda la razon, como quiere que cambie si constante mente le dice que muestre la imagen de la opcion 0.

Imagen de pspgorrister

Correcto, en mi listado lo

Correcto, en mi listado lo puse fuera (no sé ni para qué me molesto, porque luego siguen haciendo megalistados montruosos de 100 lineas), pero se me paso decirlo. xDDDDDDDDDDDDDDDDD

jajaja que adivinen, que adivinen....

Un saludo.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Imagen de unai.

intenta esto: imagen=menu1 if

intenta esto:
imagen=menu1
if opcion==2 then
imagen=menu2
end
asi con todos...
screen:blit(x,y,imagen)
prueba y dime

Imagen de Duende68

No te entiendo..

Lo siento pero no te entiendo si me lo pudieras explicar mejor

Imagen de pspgorrister

No te ofendas, pero es un

No te ofendas, pero es un código mal hecho y redundante, no sé si es tuyo o un copy/paste. Se puede hacer sólo en 17 lineas. Es lo que tiene querer programar sin estudiar metología, poniéndose a teclear directamente.¿Te imaginas un menú de 300 opciones?

opcion = 1
menu = {}
for n = 1,5 do
   menu[n] = Image.Load(Image.load("ms0:/Prueba Lua/System/Foto" + n + ".jpg") -- Hay que cambiar los nombres
end
while true do
   pad = Controls.read() -- O como quiera se sea la función
   if pad:up() and opcion > 1 then
      opcion = opcion -1
   end
   if pad:down() and opcion < 5 then
      opcion = opcion +1
   end
   screen:blit(0,0, menu[opcion]) -- Así o como dicen más abajo, no lo sé
   screen.flip()
   screen.waitVblankStart()
end

Yo no sé lua, así que no se si el Controls.read() es correcto y si la comprobación "if pad:dow()", "if pad:up()", se hace así, pero debe ser algo parecido.

Un saludo.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Imagen de Duende68

Bueno...

Bueno como ya dije antes me carga la imagen "menu1" pero al darle arriba o abajo no cambia la imagen. He hecho cambios en el programa de arriba.


              Mod VS Spammer"Si Se Puede Soñar, Se Puede Lograr"

               ¿Quieres Un IPad 2 Gratis? Pasate por aqui.

Imagen de Duende68

Gracias..

Gracias por responder la verdad es que son errores de novato
pero estoy tan cansado que me despisto. Ahora ya me sale la imagen
"menu1" pero no cambia a las demas cuando presiono los botones ¿que
crees que puede ser?



              Mod VS Spammer"Si Se Puede Soñar, Se Puede Lograr"

               ¿Quieres Un IPad 2 Gratis? Pasate por aqui.

Ese código es de TodoInfoPSP

Ese código es de TodoInfoPSP (creo) míralo o estudialo.

PD: El error está en que dice que la foto se llama: Foto 2, hay un espacio, quitaselo.


                                                                          No cuesta nada agradecer!!!

Imagen de Duende68

Bueno gracias...

Gracias pero creo que no es eso pero gracias de todos modos

Otro detalle para que cambie

Otro detalle para que cambie de imagen aun despues de presionado el boton debes poner if pad:up() and oldpad:up() ~= pad:up then

Imagen de unai.

Bueno, primero. Debrías usar

Bueno, primero. Debrías usar el Lua Player HM7, es el más usado y facil de usar. Aqui van los dos fallos que tienes:

Tu has puesto: pad = Controls.read

Yo pongo: pad = Controls.read()

Es decir, te has comido las parentesis. Lo mismo con oldpad. Segundo fallo:

Tu has puesto: image.blit(x, y, menu1)

Yo pongo: screen:blit(x,y, menu1)

Esto es, tienes que usar los dos puntos para separar screen y blit. Ah, y tienes que poner screen (Al menos el HM7) no image, ya que image es una variable que no has definido.

Y un consejo. Para poner el tope de opciones, tu usas if opcion==6 then opcion==5 end, cuando lo mejor es usar esto:

if pad:down() and opcion<=5 then (Cuando pulsas abajo y opcion es menor o igual a 5)

opcion = opcion + 1

end

Suerte!



Offspring - Rise and Fall, Rage and Grace
Dark_AleX
21st Century Breakdown
American Idiot

SceneBET y PSP Euskaraz 2... ¿Pronto?

Lo que has dicho eso de que

Lo que has dicho eso de que le lua HM7 es más facil y más usado, eso de usado pues vale pero lo de facil.... Lua siempre es igual solo ha cambiado el nombre de las variebles.


                                                                          No cuesta nada agradecer!!!

Imagen de Duende68

Gracias..

Gracias por responder la verdad es que son errores de novato pero estoy tan cansado que me despisto. Ahora ya me sale la imagen "menu1" pero no cambia a las demas cuando presiono los botones ¿que crees que puede ser?


              Mod VS Spammer"Si Se Puede Soñar, Se Puede Lograr"

               ¿Quieres Un IPad 2 Gratis? Pasate por aqui.

No se que Lua estas usando

No se que Lua estas usando pero si es LuaHM7 deberias usar en vez de Image.blit() es screen:blit(coordenada x, coordenada y, variable en la que cargastes la imagen) en tu caso seria screen:blit(0,0,menu1)

creo que es la original 0.20

creo que es la original 0.20

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.