Estoy haciendo un homebrew en lua y en el PC me funciona pero con la PSP y el Eboot de LuaPlayerHM 7 me sale esto:
Error: System/System.lua:26 Image.load: Error loading image
Press Start to restart
En esta linea no hay ningun error lo he comprobado.
Que alguien me ayude porfavor! Gracias.
No
No si al final te acabaré de hacer el juego. Vamos por partes:
imgmenu = temablau
end
if tema == 2 then
imgmenu = temaverd
end
Para que te complicas, primero le dices al bucle que cargue el tema 1 con la iamgen (imgmenu = temablau) y después le dices que haga "blit" del imgmenu. Borra este párrafo, así cargará directamente el "estatJoc == menu".
perdon ya no te molesto
perdon ya no te molesto mas. Muchas gracias por intentar ayudarme.
lua
¿Te funciona?
no. Lo de la variable nil i
no. Lo de la variable nil i collectgarbage() no funciona porque vuelve a aparecer el primer error...
Error: System/System.lua:26 Image.load: Error loading image
Press Start to restart
lua
¿Y si en vez de cargar "26 notas musicales" imprimes en pantalla las notas musicales?
quieres decir con letras?
quieres decir con letras?
lua
Si.
ok lo hare pero tardare un
ok lo hare pero tardare un poco. gracias.
A una cosa puedo cargar WAV en luaplayer hm7?
lua
Se puede reproducir WAV en cualquier luaplayer a partir del luaplayer. Utiliza esto solamente en luaplayerHM:
System.oaenable()
mi = sound.load( "mi.wav", false)
mi:play()
Ya esta y funciona pero va
Ya esta y funciona pero va muy lento... Puede ser por los WAV?
WAV
Prueba con los MP3.
pero se puede hacer con los
pero se puede hacer con los MP3 que los llame una variable como los wav? Ej: sonido = Sound.load("sons/so.wav")
sonido:play()
pero algo parecido con MP3?
Mp3
Los Mp3 los reproduces por la manera que ya te expliqué abajo.
psomi =
psomi = Mp3me.load("sons/piano/mi.mp3",false)
Mal
Está mal el código. ¿Te has mirado los tutoriales? No se pone ni false ni true, y la raiz de la carpeta se empieza por "./".
Mp3me.load("./sons/piano/mi.mp3")
Mp3me.play()
No sale esto en el tuto k he
No sale esto en el tuto k he mirado yo
Pongo esto por ejemplo:
Pongo esto por ejemplo:
temablau = Image.load("imatges/menu/menublau.png")
temablau = nil
i me dice Error: System.lua: 71: bad argument #2 to 'blit' (image expected, got nil)
es por eso de nil?
Nil
Pues pon la variable "nil" y collectgarbage() debajo de screen.flip().
Hombre es que haber.
Claro que te da nil la imagen, porque has cargado una imagen, i al instante la borras, con razon te da nil. lo de temablau=nil, debes ponerlo cuando quieras limpiar la memoria, pero si quieres imprimir una imagen y antes le das nil, te dara error.
Me lo puedes poner en el
Haber es realmente sencillo.
Simeplemente, o pones una funcion para que vacie la memoria cuando tu lo necesites, o no pongas lo de nil.
pero es k si no pongo nil no
pero es k si no pongo nil no me carga las imagenes porque hay muchas y lo otro no entiendo donde lo tengo que poner.
Código
Pon la variable "nil" y collectgarbage() debajo de screen.flip().
en el bucle principal?
¿en el bucle principal? ¿asi?
while true do
if tema == 1 then
imgmenu = temablau
end
if tema == 2 then
imgmenu = temaverd
end
if estatJoc == "menu" then
mostramenu()
end
if estatJoc == "guitarra" then
mostraguitarra1()
end
if estatJoc == "piano" then
mostrapiano()
end
if estatJoc == "opcions" then
mostraopcions()
end
screen.flip()
collectgarbage()
temablau = nil
temaverd = nil
blankp = nil
do1p = nil
rep = nil
mip = nil
fap = nil
solp = nil
lap = nil
sip = nil
dop = nil
blankg = nil
mig = nil
sig = nil
solg = nil
reg = nil
lag = nil
mi2g = nil
oldpad = pad
end
Si
Si, pero el collectgarbage() debajo de de "mi2g = nil". Di si te funcionó.
tampoco: Error:
tampoco:
Error: System.lua: 52: bad argument #2 to 'blit' (image expected, got nil)
Creo k es mas facil que ponga el codigo y que mires si hay algun problema:
--***Colors***
blanc = Color.new(255,255,255)
blau = Color.new(0,0,255)
negre = Color.new(0,0,0)
vermell = Color.new(255,0,0)
verd = Color.new(38,187,3)
verdfosc = Color.new(17,74,4)
--***Imatges***
temablau = Image.load("imatges/menu/menublau.png")
temaverd = Image.load("imatges/menu/menuverd.png")
blankp = Image.load("imatges/piano/blank.png")
do1p = Image.load("imatges/piano/do1.png")
rep = Image.load("imatges/piano/re.png")
mip = Image.load("imatges/piano/mi.png")
fap = Image.load("imatges/piano/fa.png")
solp = Image.load("imatges/piano/sol.png")
lap = Image.load("imatges/piano/la.png")
sip = Image.load("imatges/piano/si.png")
dop = Image.load("imatges/piano/do.png")
blankg = Image.load("imatges/guitarra/blank.png")
mig = Image.load("imatges/guitarra/mi.png")
sig = Image.load("imatges/guitarra/si.png")
solg = Image.load("imatges/guitarra/sol.png")
reg = Image.load("imatges/guitarra/re.png")
lag = Image.load("imatges/guitarra/la.png")
mi2g = Image.load("imatges/guitarra/mi2.png")
--***Altres***
dofile("./escribe.lua")
imgmenu = temablau
colorbarra = blau
imatgeguitarra = blankg
imatgeguitarra2 = blankg2
imatgepiano = blankp
estatJoc = "menu"
tema = 1
oldpad = Controls.read()
posselector = 1
posselector2 = 1
selector = { imagen = Image.createEmpty(260,30), x = 108,y = 100 }
selector.imagen:clear(colorbarra)
selector2 = { imagen = Image.createEmpty(260,30), x = 108,y = 100 }
selector2.imagen:clear(colorbarra)
barra = { imatge = Image.createEmpty(480,10), x = 0,y = 262 }
barra.imatge:clear(colorbarra)
--***Menú***
function mostramenu()
screen:clear()
pad = Controls.read()
screen:blit(0,0,imgmenu)
screen:blit(selector.x,selector.y,selector.imagen)
escribe( screen, 110, 100, "Tocar la guitarra", blanc, 25 )
escribe( screen, 110, 130, "Tocar el piano", blanc, 25 )
escribe( screen, 110, 160, "Opcions", blanc, 25 )
screen:blit(barra.x,barra.y,barra.imatge)
screen:print(165,263,"Press X to select",blanc)
if posselector == 1 then
selector.y = 77
end
if posselector == 2 then
selector.y = 107
end
if posselector == 3 then
selector.y = 137
end
if pad:up() and oldpad:up() ~= pad:up() and posselector > 1 then
posselector = posselector - 1
end
if pad:down() and oldpad:down() ~= pad:down() and posselector <= 3 then
posselector = posselector + 1
end
if pad:cross() and oldpad:cross() ~= pad:cross() and posselector == 1 then
screen:clear()
estatJoc = "guitarra"
end
if pad:cross() and oldpad:cross() ~= pad:cross() and posselector == 2 then
screen:clear()
estatJoc = "piano"
end
if pad:cross() and oldpad:cross() ~= pad:cross() and posselector == 3 then
screen:clear()
imgmenu = nil
estatJoc = "opcions"
end
end
--***Guitarra***
function mostraguitarra1()
screen:clear()
pad = Controls.read()
screen:blit(0,0,imatgeguitarra)
screen:blit(barra.x,barra.y,barra.imatge)
screen:print(95,263,"Press START to Go back to the menu",blanc)
if pad:cross() and oldpad:cross() ~= pad:cross() then
imatgeguitarra = mig
end
if pad:cross() then
Mp3me.load("./sons/guitarra/mi.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:circle() and oldpad:circle() ~= pad:circle() then
imatgeguitarra = sig
end
if pad:circle() then
Mp3me.load("./sons/guitarra/si.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:square() and oldpad:square() ~= pad:square() then
imatgeguitarra = solg
end
if pad:square() then
Mp3me.load("./sons/guitarra/sol.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:triangle() and oldpad:triangle() ~= pad:triangle() then
imatgeguitarra = reg
end
if pad:triangle() then
Mp3me.load("./sons/guitarra/re.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:r() and oldpad:r() ~= pad:r() then
imatgeguitarra = lag
end
if pad:r() then
Mp3me.load("./sons/guitarra/la.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:l() and oldpad:l() ~= pad:l() then
imatgeguitarra = mi2g
end
if pad:l() then
Mp3me.load("./sons/guitarra/mi2.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:start() then
screen:clear()
temablau = nil
temaverd = nil
estatJoc = "menu"
end
end
--***Piano***
function mostrapiano()
screen:clear()
pad = Controls.read()
screen:blit(0,0,imatgepiano)
screen:blit(barra.x,barra.y,barra.imatge)
screen:print(95,263,"Press START to go back to the menu",blanc)
if pad:cross() and oldpad:cross() ~= pad:cross() then
imatgepiano = dop
end
if pad:cross() and oldpad:cross() ~= pad:cross() then
Mp3me.load("./sons/piano/do.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:circle() and oldpad:circle() ~= pad:circle() then
imatgepiano = sip
end
if pad:circle() and oldpad:circle() ~= pad:circle() then
Mp3me.load("./sons/piano/si.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:square() and oldpad:square() ~= pad:square() then
imatgepiano = lap
end
if pad:square() and oldpad:square() ~= pad:square() then
Mp3me.load("./sons/piano/la.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:triangle() and oldpad:triangle() ~= pad:triangle() then
imatgepiano = solp
end
if pad:triangle() and oldpad:triangle() ~= pad:triangle() then
Mp3me.load("./sons/piano/sol.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:up() and oldpad:up() ~= pad:up() then
imatgepiano = fap
end
if pad:up() and oldpad:up() ~= pad:up() then
Mp3me.load("./sons/piano/fa.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:down() and oldpad:down() ~= pad:down() then
imatgepiano = mip
end
if pad:down() and oldpad:down() ~= pad:down() then
Mp3me.load("./sons/piano/mi.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:right() and oldpad:right() ~= pad:right() then
imatgepiano = rep
end
if pad:right() and oldpad:right() ~= pad:right() then
Mp3me.load("./sons/piano/re.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:left() and oldpad:left() ~= pad:left() then
imatgepiano = do1p
end
if pad:left() and oldpad:left() ~= pad:left() then
Mp3me.load("./sons/piano/do1.mp3")
Mp3me.play()
Mp3me.stop()
end
if pad:start() then
screen:clear()
estatJoc = "menu"
end
end
--***Opcions***
function mostraopcions()
screen:clear()
pad = Controls.read()
screen:blit(0,0,imgmenu)
screen:blit(barra.x,barra.y,barra.imatge)
screen:print(100,263,"Press O to go back to the menu",blanc)
escribe( screen, 190, 100, "Tema:", blanc, 25 )
escribe( screen, 262, 100,tema, blanc, 25 )
if pad:right() and oldpad:right() ~= pad:right() and tema < 2 then
tema = tema + 1
end
if pad:left() and oldpad:left() ~= pad:left() and tema == 2 and tema > 1 then
tema = tema - 1
end
if pad:circle() then
screen:clear()
estatJoc = "menu"
end
end
--***Bucle Principal***
while true do
if tema == 1 then
imgmenu = temablau
end
if tema == 2 then
imgmenu = temaverd
end
if estatJoc == "menu" then
mostramenu()
end
if estatJoc == "guitarra" then
mostraguitarra1()
end
if estatJoc == "piano" then
mostrapiano()
end
if estatJoc == "opcions" then
mostraopcions()
end
screen.flip()
oldpad = pad
temablau = nil
temaverd = nil
blankp = nil
do1p = nil
rep = nil
mip = nil
fap = nil
solp = nil
lap = nil
sip = nil
dop = nil
blankg = nil
mig = nil
sig = nil
solg = nil
reg = nil
lag = nil
mi2g = nil
collectgarbage()
end
Buenas
Puede que le hayas cambiado el nombre o hayas quitado la imagen que intentaste cargar en ese script. Porque eso puede pasar mucho cuando programas en lua (cosas que se te escapan xD). Ojo con las mayusculas y minusculas que puede que la imagen lo hayas nombrado con mayuscula y lo hayas puesto en el script con minuscula (o al reves xP)
Tambien cuidado con lo de cambiar el formato de la imagen solo cambiando el nombre (ejemplo: Imagen.png le haces cambiar nombre y la llamas Imagen.jpg) Eso a mi me daba error. LOs formatos de imagen cambialos con programas como paint
Pues creo que uno de estos debe ser
Saludo ;)
ya lo he comprobado todo y
ya lo he comprobado todo y no me funciona
Código
Error:
soy muy nuevo en esto
soy muy nuevo en esto ¿puedes explicarmelo mas facilmente?
Código
Lua:
Ejemplo:
temablau = Image.load("imatges/menu/menublau.png")
temablau = nil
while true do
screen:clear()
screen:blit(0,0,menublau)
collectgarbage()
System.sleep(100)
end
Esto lo intentas aplicar a tú código.
Ahora dice Error:
Ahora dice
Error: System/System.lua:40: error loading sound
Press START to restart
¿Hay algun problema con el codigo? ¿o los mp3 deben tener unas caracteristicas especificas?
Mp3
Cambia el formato de "WAV" a "MP3".
ya son MP3 :-)
ya son MP3 :-)
Mp3
Entonces el código está mal:
gsomi = Sound.load("sons/guitarra/mi.wav",false)
el k tienes tu si pero el
el k tienes tu si pero el mio no. es k me he ekivocado, te he pasado el antiguo.
gsomi = Sound.load("sons/guitarra/mi.mp3",false)
Mal
El código que pones no existe para "Mp3". Lo correcto sería:
Mp3me.load("mi.mp3")
Mp3me.play()
No te olvides del Mp3me.stop() despues de reproducir un "Mp3".
Ahora: Error:
Ahora:
Error: System/Systen.lua:66: can't open sound file ms0:/PSP/GAME/PSPMS2.0/sons/piano/mi.mp3
Press START to restart
!!!!!!!!!!!!!!!!
Mp3
¿Está el archivo "mi.mp3" en la carpeta piano? Pon el código que has utilizado.
Edito: Continua arriba.
muchas muchas gracias ahora
muchas muchas gracias ahora lo intento
Código
Pon el código para que podamos ayudarte.
http://rapidshare.com/files/1
1
a mi tambien me pasa eso
a mi tambien me pasa eso pero en la linea 11 que es justo la primera imagen que cargo, osea que no es problema del tope de 25 imagenes, lo he revisado todo y esta bien escrito, la imagen existe y esta en la ruta correcta, no lo entiendo, en la pagina de lua player hm tambn hay mucha gente quejandose de este problema, algunas imagenes las carga bien pero otras no, aunque sean del mismo tipo, es inexplicable, si alguien tiene la solucion que postee por favor.