Pues estoy desarrollando la nueva versión de mi juego El Ahogado pero algo me tiene parado .
Ya tengo muchos niveles hechos, pero solo puedo llegar al nivel 13, ahora les explico porque:
Justo cuando paso el nivel 13 y presiono ya sea O para ir al siguiente nivel ó /\ para salir al menú me dá un error en la carga de la imagen de fondo, la ruta está bien escrita (ya lo he comprobado muchas veces) pero aún así me da el error, todo se soluciona dando a start para reiniciar el juego pero es muy molesto.
Me pregunto, ¿Será por falta de memoria RAM?. En cada nivel cargo diversas imagenes (entre 5 y 7) pero me da problemas hasta ese nivel.
PD: Si es problema de la RAM ¿cómo se soluciona?, ya he puesto la función System.sleep() y System.memclean() para limpiarla pero me va igual.
sAlud0s!
EDITO: Ya he comprobado que es la memoria, pues he añadido el splash del scenery y otros créditos al principio del juego, y en ves de llegar al nivel 13 llega hasta el nivel 7 antes de darme el error.
Deberías hacer como han
Deberías hacer como han dicho más abajo un seguimiento de la RAM libre para ver dónde tienes lagunas (las llamadas "memory leaks"). Pon un ejemplo de cómo tratas una imagen y cómo la liberas (no hace falta que pongas todo el codigo de la aplicación), seguro que los que saben Lua podrán decirte qué haces mal.
Un saludo.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Ya lo he resuelto..
Pongo las imagenes a nil y listo.
sAlud0s!
Porque no..
Pruebas haciendo una función:
function LimpiarMemoriaRAM()
collectgarbage("collect")
System.memclean()
end
Puede que te sirva.
Además un día que salía error también en una imágen que era .PNG y estaba bien, pero no me fije que la imagen no era .PNG si no .JPG y estaba mal nombrada.
Hazme la pregunta que quieras ANONIMAMENTE desde aquí.
Erratem humanus est
Si te da error al cargar la imagen, igual está corrupta por alguna razón, para probar prueba a sustituirla por una del juego que sepas que sí te va.
Sobre la memoria, aunque uses memclear(), si tienes en uso todavía las variables no se te van a liberar, es buena práctica usar variables locales en vez de globales.
Un saludo.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Podría ser...
¿Que vuelva a cargar una imagen actualmente en uso?
No se sí da error, pero podría ser una posibilidad.
Saludos.
Misma imagen...
La imagen de fondo es la misma para todos los niveles, por lo que no creo que sea la imagen.
Te recomendaría.
Tener un modo debug y en éste tener la funcion para impririm la memoria ram libre, es realmente útil.
Saludos.
Pero..
¿No me sirve poner System.sleep(500)?
sAlud0s!
Si aún me acuerdo.
System.sleep(x) Duerme la psp durante X tiempo.
Si no me equivoco, mientras la PSP esté en System.sleep, no ocurrirá nada.
¿De que te sirve pausar la PSP si el problema es de la memoria?
Haz lo que te dige, de imprimir la memoria RAM libre y podrás confirmar si el problema es de la memoria.
Que tipo de error da?
Que tipo de error da?
WTF?
Ya lo ha dicho, le da error al cargar la imagen ( Error loading image supongo )
Si..
Es ese el error, no he subido captura pues supuse que todos abemos cual es.
sAlud0s!
Utiliza la misma imagen para
Utiliza la misma imagen para ese nivel y los siguientes, es decir, coges la imagen fondo la copas y pegas en otro sitio y la renombras con fondo1, luego la pones donde esta imagen fondo y apartir de donde da error una la imagen fondo 1.
No cuesta nada agradecer!!!