Anuncios Google

Problema Lua [uso el HM V.2]

Hola amigos, mi problema es el siguiente

Cuando intento entrar en una aplicacion que estamos creando me lanza este error:

ojo este error es nuevo: Scripts/menu.lua:32: calling 'clear' on bad self (string expected, got table)

Os dejo el code:

 

menu1 = Image.load("Images/menu1.png")
menu2 = Image.load("Images/menu2.png")
menu3 = Image.load("Images/menu3.png") 
 
function controles()
if controls.press("right") then
currentsel=currentsel+1
elseif controls.press("left") then
currentsel=currentsel-1
end
end
 
function current()
if currentsel>3 then 
   currentsel=3
elseif currentsel<1 then
   currentsel=1
end
end
 
function mostrar_imagenes()
if currentsel == 1 then Image.blit(0,0,menu1)
elseif currentsel == 2 then Image.blit(0,0,menu2) 
elseif currentsel == 3 then Image.blit(0,0,menu3)
end
end
 
currentsel = 1
current = menu1
 
while true do
screen:clear()
controles()
mostrar_imagenes()
current() 
 if controls.press("cross") and currentsel==1 then System.startUMD()
 elseif controls.press("cross") and currentsel==2 then System.startISO("ms0:/ISO/game.iso")
 elseif controls.press("cross") and currentsel==3 then System.Quit() end
 screen.flipscreen()
screen.waitVblankStart()
end

Saludos y ayudenme

 


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.

Bueno Pues yo veo 1 error

seria dentro del while true do 1º cargar 1 color ejemplo

black = Color.new(0,0,0,225)

y luego en vez de

screen:blit()

seria

screen.blit(black)

 

yo hasta ahora solo e visto ese :D intentalo y me dices si funcciona

Imagen de -Adolso-Gallardo-

No sera

No sera screen:clear(black) ??

Si si

si si eso es lo q quieria poner losiento es q me confundi :D 


Editado:

seria dentro del while true do 1º cargar 1 color ejemplo

black = Color.new(0,0,0,225)

y luego en vez de

screen:clear()

seria

screen.clear(black)

Prueba eso con el eboot de

Prueba eso con el eboot de LuaDEV, pero el problema es que no se como ejectar el UMD en LuaDEV. En cuanto pueda se lo preguntare a dev.

 

 

menu1 = image.load("Images/menu1.png")
menu2 = image.load("Images/menu2.png")
menu3 = image.load("Images/menu3.png") 
 
function controles()
if controls.press("right") then
currentsel=currentsel+1
elseif controls.press("left") then
currentsel=currentsel-1
end
end
 
function current()
if currentsel>3 then 
   currentsel=3
elseif currentsel<1 then
   currentsel=1
end
end
 
function mostrar_imagenes()
if currentsel == 1 then image.blit(0,0,menu1)
elseif currentsel == 2 then image.blit(0,0,menu2) 
elseif currentsel == 3 then image.blit(0,0,menu3)
end
end
 
currentsel = 1
current = menu1
 
while true do
controls.read()
controles()
mostrar_imagenes()
current() 
 if controls.press("cross") and currentsel==1 then os.runiso()--problema, en el manual de deviante no sale como ejecutar el umd... xD
 elseif controls.press("cross") and currentsel==2 then     os.runiso("ms0:/ISO/game.iso")
 elseif controls.press("cross") and currentsel==3 then
        os.quit()
end
 screen.flip()
 
end

Imagen de pepingo el hacker

Probando

Probando....

Imagen de sting18

PD.no uso luadev pero esta es la idea creo xD

menu1 = Image.load("Images/menu1.png")
menu2 = Image.load("Images/menu2.png")
menu3 = Image.load("Images/menu3.png")
 
function controles()
if controls.press("right") then -- busca como es para que no se repita la pulsacion.
currentsel=currentsel+1
elseif controls.press("left") then
currentsel=currentsel-1
end
end
 
function current()
if currentsel>3 then
   currentsel=3
elseif currentsel<1 then
   currentsel=1
end
end

function mostrar_imagenes()
if currentsel == 1 then Image.blit(0,0,menu1)
elseif currentsel == 2 then Image.blit(0,0,menu2)
elseif currentsel == 3 then Image.blit(0,0,menu3)
end
end

currentsel = 1
current = menu1
 
while true do
screen:clear()--si usas dev no se cual seria este busca.
controles()
mostrar_imagenes()
current()
 if controls.press("cross") and currentsel==1 then System.startUMD()
 elseif controls.press("cross") and currentsel==2 then System.startISO("ms0:/ISO/game.iso")
 elseif controls.press("cross") and currentsel==3 then System.Quit() end
 screen.flipscreen()
screen.waitVblankStart()
end


Imagen de pepingo el hacker

Tengo

Otro problema aora me sale esto:

Script/menu.lua:26 'then'expected near ';'.

Saludos y ayuda

Revisar la línea donde te

Revisar la línea donde te indica el error es un buen comienzo ;)
Revisa los comentarios:

while true do 
 
temps = minuteur:time() 
Image.blit(0,0,menu1)  
temps = minuteur:time()
Image.blit(0,0,menu2) 
 
end  --Seguro que quieres que el bucle se cierre aqui?
 
if controls.press("cross") then
    if currentsel==1 then
	     System.startUMD()
    elseif currentsel==2 then
             System.startISO("ms0:/ISO/game.iso")
    end  --Aqui faltaba este, o eso creo :P
end
 
screen.flipscreen()
screen.waitVblankStart()
 
end

A ese end que comenté al inicio no le veo mucho sentido :S

También, la lectura de los botones debería ir dentro del while, de manera que constantemente los esté leyendo. De la manera que lo tienes, sólo los leerá una vez (al inicio del programa) pero cuando entre al while ya no cambiará el valor de la variable currentsel por mucho que presiones los botones.

Imagen de pepingo el hacker

No

Pero ese error ya lo arregle a hora me sale otro (lo pone arriba).

Saludos

Lo arreglaste o no? Te estoy

Lo arreglaste o no? Te estoy dando una posible solución al error que está posteado, y me dices que ya está arreglado? Decídete XD

Lo de los controles fue solo una observación, desde ya te digo que no te va funcionar así como lo tienes. Para el error que está posteado, simplemente ponle atención a los comentarios que hice en tu código, y prueba de nuevo ;)

Imagen de pepingo el hacker

Venga

Ayudenme por favor que necesito terminarlo.

Saludos

Imagen de moikop

Una preguntita...

Hablas francés?

Imagen de pepingo el hacker

Un

Un poco por que?

Saludos

Imagen de moikop

Nada

Me pareció raro que las variables estén escritas en francés...

Sobre el error, estas usando los controles de LuaDev en HM.

Imagen de pepingo el hacker

Amigo

Ya decia yo que fallaba algo.

Gracias moikop por decirmelo.

Saludos

EDITADO: A hora me sale otro error (lo pone arriba).


Editado: Crear hilos y comentarios duplicados incumple las Normas de la Comunidad, si necesita cambiar su comentario puede usar la opcion de Editar. Antes de volver a postear por favor revise las Normas.| Rober Galarga

Antes de if

Antes de if controls.press("right") then, escribe controls.read() y prueba de nuevo ;)

Imagen de pepingo el hacker

OK

Voy a probar a ver ahora digo si funciona o no.

Saludos

Edito: Nada me sale el mismo error.

Uso el hm v.2

Imagen de markef

Seguro

Seguro que estas colocando bien lo que dicen los compañeros?

controls.read()
 
if controls.press("right") then
currentsel=currentsel+1
elseif controls.press("left") then
currentsel=currentsel-1
end

 


Dicen que soy programador... Eso dicen.

Imagen de pepingo el hacker

No

Pero si los controles ya esta arreglado ahora tengo otro error:

Script/menu.lua:26 'then'expected near ';'

Saludos

Imagen de ESBAAC

Pepingo...

Y...Carlitos no te estaba ayudando?

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.