Hola, mirad, tengo un problema.
Cuando inicio mi Homebrew me deja acceder a Rie-T y a Piensa-T-lo, pero cuando me salgo porque ha terminado de mostrar las imagenes al script.lua, se queda congelada la pantalla y se apaga.
He pensado que debería "limpiar" un poco el codigo, pero no se hacerlo, ¿me ayudais?
Aquí el codigo script.lua
dofile("Libreria_Gif.lua") --Cargamos libreria Framebase = image.load("FramesMenu/Framebase.png") Frame0 = image.load("FramesMenu/Frame0.png") Frame1 = image.load("FramesMenu/Frame1.png") Frame2 = image.load("FramesMenu/Frame2.png") Frame3 = image.load("FramesMenu/Frame3.png") Frame4 = image.load("FramesMenu/Frame4.png") Frame5 = image.load("FramesMenu/Frame5.png") Frame6 = image.load("FramesMenu/Frame6.png") Frame7 = image.load("FramesMenu/Frame7.png") Frame8 = image.load("FramesMenu/Frame8.png") Frame9 = image.load("FramesMenu/Frame9.png") Frame10 = image.load("FramesMenu/Frame10.png") Frame11 = image.load("FramesMenu/Frame11.png") opcion_actual = 1 while true do screen.clear() controls.read() image.blit(0,0,Framebase) function cambiaopcion() if opcion_actual == 1 then Animacion1(true,6,14,0,0,Frame0,Frame1,Frame2,Frame3,Frame2,Frame1) end if opcion_actual == 2 then Animacion2(true,6,14,0,0,Frame4,Frame5,Frame6,Frame7,Frame6,Frame5) end if opcion_actual == 3 then Animacion2(true,6,14,0,0,Frame8,Frame9,Frame10,Frame11,Frame10,Frame9) end if controls.left() and controls.press("left") then opcion_actual = opcion_actual +1 end if controls.right() and controls.press("right") then opcion_actual = opcion_actual -1 end if opcion_actual >= 4 then opcion_actual = 1 elseif opcion_actual <= 0 then opcion_actual = 3 end if controls.r() and controls.press("r") and opcion_actual == 1 then dofile("RieT.lua") end if controls.r() and controls.press("r") and opcion_actual == 2 then dofile("PiensaTlo.lua") end if controls.r() and controls.press("r") and opcion_actual == 3 then dofile("Salir.lua") end end cambiaopcion() screen.waitvblankstart() screen.flip() end
Aquí el codigo Rie-T.lua
--Liberamos frames image.free(Frame0) image.free(Frame1) image.free(Frame2) image.free(Frame3) image.free(Frame4) image.free(Frame5) image.free(Frame6) image.free(Frame7) image.free(Frame8) image.free(Frame9) image.free(Frame10) image.free(Frame11) --Empezamos bucle y funcion base = image.load("Chistes/base.png") chiste1 = image.load("Chistes/Chiste1.png") chiste2 = image.load("Chistes/Chiste2.png") chiste3 = image.load("Chistes/Chiste3.png") chiste4 = image.load("Chistes/Chiste4.png") chiste5 = image.load("Chistes/Chiste5.png") chiste6 = image.load("Chistes/Chiste6.png") chiste7 = image.load("Chistes/Chiste7.png") chiste8 = image.load("Chistes/Chiste8.png") chiste9 = image.load("Chistes/Chiste9.png") chiste10 = image.load("Chistes/Chiste10.png") chiste11 = image.load("Chistes/Chiste11.png") chiste12 = image.load("Chistes/Chiste12.png") chiste13 = image.load("Chistes/Chiste13.png") chiste14 = image.load("Chistes/Chiste14.png") chiste15 = image.load("Chistes/Chiste15.png") chiste16 = image.load("Chistes/Chiste16.png") chiste17 = image.load("Chistes/Chiste17.png") chiste18 = image.load("Chistes/Chiste18.png") chiste19 = image.load("Chistes/Chiste19.png") chiste20 = image.load("Chistes/Chiste20.png") chiste21 = image.load("Chistes/Chiste21.png") chiste22 = image.load("Chistes/Chiste22.png") chiste23 = image.load("Chistes/Chiste23.png") chiste24 = image.load("Chistes/Chiste24.png") chiste25 = image.load("Chistes/Chiste25.png") chiste_actual = 1 while true do screen.clear() controls.read() image.blit(0,0,base) function cambiachiste() if chiste_actual == 1 then image.blit(0,0,chiste1) end if chiste_actual == 2 then image.blit(0,0,chiste2) end if chiste_actual == 3 then image.blit(0,0,chiste3) end if chiste_actual == 4 then image.blit(0,0,chiste4) end if chiste_actual == 5 then image.blit(0,0,chiste5) end if chiste_actual == 6 then image.blit(0,0,chiste6) end if chiste_actual == 7 then image.blit(0,0,chiste7) end if chiste_actual == 8 then image.blit(0,0,chiste8) end if chiste_actual == 9 then image.blit(0,0,chiste9) end if chiste_actual == 10 then image.blit(0,0,chiste10) end if chiste_actual == 11 then image.blit(0,0,chiste11) end if chiste_actual == 12 then image.blit(0,0,chiste12) end if chiste_actual == 13 then image.blit(0,0,chiste13) end if chiste_actual == 14 then image.blit(0,0,chiste14) end if chiste_actual == 15 then image.blit(0,0,chiste15) end if chiste_actual == 16 then image.blit(0,0,chiste16) end if chiste_actual == 17 then image.blit(0,0,chiste17) end if chiste_actual == 18 then image.blit(0,0,chiste18) end if chiste_actual == 19 then image.blit(0,0,chiste19) end if chiste_actual == 20 then image.blit(0,0,chiste20) end if chiste_actual == 21 then image.blit(0,0,chiste21) end if chiste_actual == 22 then image.blit(0,0,chiste22) end if chiste_actual == 23 then image.blit(0,0,chiste23) end if chiste_actual == 24 then image.blit(0,0,chiste24) end if chiste_actual == 25 then image.blit(0,0,chiste25) end if controls.r() and controls.press("r") then chiste_actual = chiste_actual +1 end if controls.r() and controls.press("r") and chiste_actual >= 26 then dofile("script.lua") end if controls.select() and controls.press("select") then dofile("script.lua") end end cambiachiste() screen.waitvblankstart() screen.flip() end
Y por ultimo, aquí el codigo Piensa-T-lo.lua
--Liberamos frames image.free(Frame0) image.free(Frame1) image.free(Frame2) image.free(Frame3) image.free(Frame4) image.free(Frame5) image.free(Frame6) image.free(Frame7) image.free(Frame8) image.free(Frame9) image.free(Frame10) image.free(Frame11) --Cargamos imagenes nuevas base = image.load("Acertijos/base.png") Acert1 = image.load("Acertijos/Acertijo1.png") Acert2 = image.load("Acertijos/Acertijo2.png") Acert3 = image.load("Acertijos/Acertijo3.png") Acert4 = image.load("Acertijos/Acertijo4.png") Acert5 = image.load("Acertijos/Acertijo5.png") Acert6 = image.load("Acertijos/Acertijo6.png") Acert7 = image.load("Acertijos/Acertijo7.png") Acert8 = image.load("Acertijos/Acertijo8.png") Acert9 = image.load("Acertijos/Acertijo9.png") Acert10 = image.load("Acertijos/Acertijo10.png") Acert11 = image.load("Acertijos/Acertijo11.png") Acert12 = image.load("Acertijos/Acertijo12.png") Acert13 = image.load("Acertijos/Acertijo13.png") Acert14 = image.load("Acertijos/Acertijo14.png") Acert15 = image.load("Acertijos/Acertijo15.png") Acert16 = image.load("Acertijos/Acertijo16.png") Acert17 = image.load("Acertijos/Acertijo17.png") Acert18 = image.load("Acertijos/Acertijo18.png") Acert19 = image.load("Acertijos/Acertijo19.png") Acert20 = image.load("Acertijos/Acertijo20.png") Acert21 = image.load("Acertijos/Acertijo21.png") Acert22 = image.load("Acertijos/Acertijo22.png") Acert23 = image.load("Acertijos/Acertijo23.png") Acert24 = image.load("Acertijos/Acertijo24.png") Acert25 = image.load("Acertijos/Acertijo25.png") Acert26 = image.load("Acertijos/Acertijo26.png") Acert27 = image.load("Acertijos/Acertijo27.png") Acert28 = image.load("Acertijos/Acertijo28.png") Acert29 = image.load("Acertijos/Acertijo29.png") Acert30 = image.load("Acertijos/Acertijo30.png") Acert31 = image.load("Acertijos/Acertijo31.png") Acert32 = image.load("Acertijos/Acertijo32.png") Acert33 = image.load("Acertijos/Acertijo33.png") Acert34 = image.load("Acertijos/Acertijo34.png") Acert35 = image.load("Acertijos/Acertijo35.png") Acert36 = image.load("Acertijos/Acertijo36.png") Acert37 = image.load("Acertijos/Acertijo37.png") Acert38 = image.load("Acertijos/Acertijo38.png") Acert39 = image.load("Acertijos/Acertijo39.png") Acert40 = image.load("Acertijos/Acertijo40.png") Acert_actual = 1 while true do screen.clear() controls.read() image.blit(0,0,base) function cambiaAcert() if Acert_actual == 1 then image.blit(0,0,Acert1) end if Acert_actual == 2 then image.blit(0,0,Acert2) end if Acert_actual == 3 then image.blit(0,0,Acert3) end if Acert_actual == 4 then image.blit(0,0,Acert4) end if Acert_actual == 5 then image.blit(0,0,Acert5) end if Acert_actual == 6 then image.blit(0,0,Acert6) end if Acert_actual == 7 then image.blit(0,0,Acert7) end if Acert_actual == 8 then image.blit(0,0,Acert8) end if Acert_actual == 9 then image.blit(0,0,Acert9) end if Acert_actual == 10 then image.blit(0,0,Acert10) end if Acert_actual == 11 then image.blit(0,0,Acert11) end if Acert_actual == 12 then image.blit(0,0,Acert12) end if Acert_actual == 13 then image.blit(0,0,Acert13) end if Acert_actual == 14 then image.blit(0,0,Acert14) end if Acert_actual == 15 then image.blit(0,0,Acert15) end if Acert_actual == 16 then image.blit(0,0,Acert16) end if Acert_actual == 17 then image.blit(0,0,Acert17) end if Acert_actual == 18 then image.blit(0,0,Acert18) end if Acert_actual == 19 then image.blit(0,0,Acert19) end if Acert_actual == 21 then image.blit(0,0,Acert21) end if Acert_actual == 22 then image.blit(0,0,Acert22) end if Acert_actual == 23 then image.blit(0,0,Acert23) end if Acert_actual == 24 then image.blit(0,0,Acert24) end if Acert_actual == 25 then image.blit(0,0,Acert25) end if Acert_actual == 26 then image.blit(0,0,Acert26) end if Acert_actual == 27 then image.blit(0,0,Acert27) end if Acert_actual == 28 then image.blit(0,0,Acert28) end if Acert_actual == 29 then image.blit(0,0,Acert29) end if Acert_actual == 30 then image.blit(0,0,Acert30) end if Acert_actual == 31 then image.blit(0,0,Acert31) end if Acert_actual == 32 then image.blit(0,0,Acert32) end if Acert_actual == 33 then image.blit(0,0,Acert33) end if Acert_actual == 34 then image.blit(0,0,Acert34) end if Acert_actual == 35 then image.blit(0,0,Acert35) end if Acert_actual == 36 then image.blit(0,0,Acert36) end if Acert_actual == 37 then image.blit(0,0,Acert37) end if Acert_actual == 38 then image.blit(0,0,Acert38) end if Acert_actual == 39 then image.blit(0,0,Acert39) end if Acert_actual == 40 then image.blit(0,0,Acert40) end if controls.r() and controls.press("r") then Acert_actual = Acert_actual +1 end if controls.r() and controls.press("r") and Acert_actual >= 41 then dofile("script.lua") end if controls.select() and controls.press("select") then dofile("script.lua") end end cambiaAcert() screen.flip() screen.waitvblankstart() end
El codigo salir es simplemente para hacer un system.quit() junto a los creditos, no le deis importancia.
P.D: He optimizado las imagenes y cada una ocupa ahora unos 5 Kb y las bases unos 25 Kb.
Saludos.
Mhm
Talvez El Problema Es Que Pones image:free(frame10) , Cuando Deberia Der Asi frame10:free()
Salu2!!
En LuaDEV da igual cualquiera
En LuaDEV da igual cualquiera de las dos ;)
ya que lo que cargas tiene
ya que lo que cargas tiene mismo nombre y ruta usa
es algo asi supongo que sabras como es que influye algo asi como una animacion ademas tampoco tendre que decir que se cambia la variable si cargas otro tipo de imagen no estoy seguro si este del todo bien pruebalo si no funciona me avisas. eso es para disminuir casi de 5 a 1 lineas en tu codigo...
EDITO:esto es consejo pues segun tu problema no se hazle caso a adolso
Pues ........
Yo diria que trabajaras en un solo script Ya que la carga de variables en diferentes scripts al momento de el dofile el psp se tiende a sobrecargar por que llevas las variables de el scrip actual y cuando regresas pues hay el doble de carga el modulo sound.load() e image.load() Son modulos de carga entonces la funcion trata de llenar la ram con el archivo entonces si tu ya cargaste la variable en un momento y la vuelves a cargar pues........ es lo que te pasa si quieres que te explique como hacer funcionar tu codigo en un solo scipt contactame por mp sale? ;)
Un saludo espero haber ayudado
Grax, lo probaré
de entre todas las respuestas, creo que la tuya es la mas completa y logica.
Salu22.
T he mandado el msn por mp.