Anuncios Google

Ayuda soy novato en Lua [EDITO... RESUELTO Y HECHO]

Ayuda soy novato en LUA y quisiera que me ayudasen... ammm tengo la idea de hacer un homebrew historieta... en el que pongo imagenes y con algun boton de la PSP cambia de imagen o retrocede... y tambien quisiera ponerle musica de fondo y que tambien se pudiese cambiar... algo simple en verdad pero es que soy novato y la idea es q sea simple...

Les agradezco q me ayuden con este homebrew... lo unico que quisiera es q me dieran las formulas simples para yo poder seguir con las imagenes y la musica

 

--Variables y Pulsaciones
imagen = { image.load("Images/image1.png"), 
image.load("Images/image2.png"), 
image.load("Images/image3.png"), 
image.load("Images/image4.png"),
image.load("Images/image5.png"), 
image.load("Images/image6.png"),
image.load("Images/image7.png"),
image.load("Images/image8.png"),
image.load("Images/image9.png"),
image.load("Images/image9-2.png"),
image.load("Images/image10.png"),
image.load("Images/image11.png"),
image.load("Images/image12.png"),
image.load("Images/image13.png"),
image.load("Images/image14.png"),
image.load("Images/image15.png"),
image.load("Images/image16.png"),
image.load("Images/image17.png"),
image.load("Images/image18.png"),
image.load("Images/image19.png"),
image.load("Images/image20.png"),
image.load("Images/image21.png"),
image.load("Images/image22.png"),
image.load("Images/image23.png"),
image.load("Images/image24.png"),
image.load("Images/image25.png"),
image.load("Images/image26.png"),
image.load("Images/image27.png"),
image.load("Images/image28.png"),
image.load("Images/image29.png"),
image.load("Images/image30.png"),
image.load("Images/image31.png"),
image.load("Images/image32.png"),
image.load("Images/image33.png"),
image.load("Images/image34.png"),
image.load("Images/image35.png"),}
 
 
sound.loop("Sound/Backgroundsound.mp3") -- Puede ser MP3, AT3, BGM y WAV
 
for i = 1, 3 do --done va el 10 pon el número de imágenes que tengas, las imágenes se deben nombrar 01.png, 02.png y así (creo que sólo hay png y jpg)
imagen[i] = image.load("Images/image"..i..".png")
end
 
current = 1 
 
while true do
controls.read()
imagen[current]:blit(0,0)
 
if controls.press("left") and current >1 then
current=current-1
elseif controls.press("right") and current <#imagen then
current=current+1
end
screen.flip()
end



Iphone 4G gsm iOS 6.0.2 Jailbreak

PS3 Slim 750GB CECH-2501A CFW 4.50 Habib

Wii Black [FW 4.3u + Homebrew Channel + Ultimate USB Loader GX]

Nintendo 3DS NTTDS

 


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 Chimecho

una coma de más

a parte del for que te dijeron más abajo, al final de la tabla veo "image.load("Images/image35.png"),}" borra esa coma ya que estás separando una imagen con... nada?

Edito: quita el for o la lista de carga, pq tas cargando lo mismo (menos la imagen 9-2) dos veces..



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

Imagen de Codyexter

Todo el Problema fue...

Wow... Todo el problema fue por el FOR o.O

PD: gracias a todos los que me ayudaron y/o respondieron el tema

Imagen de Codyexter

AYUDA... ya lo tengo todo listo

pero se crashea... debe ser por lo que dijo rober antes, por lo de la cantidad de imagenes... pero como puedo evitarlo con el code que ya tengo?


Iphone 4G gsm iOS 6.0.2 Jailbreak

PS3 Slim 750GB CECH-2501A CFW 4.50 Habib

Wii Black [FW 4.3u + Homebrew Channel + Ultimate USB Loader GX]

Nintendo 3DS NTTDS

 

No sé si sea por eso de las

No sé si sea por eso de las imágenes... porque LuaDEV por lo regular avisa que ya no tienes ram. Aún así, prueba a borrar unas imágenes, por ejemplo la mitad, y prueba si así va.

EDITO: Quita el for de tu código... de nada sirve ahi si tienes las imágenes ya cargadas arriba ;)

Imagen de Codyexter

Ya lo hice

Ya lo hice... si salio... pero la idea es que el comic no quede tan corto de imagenes... perderia su escencia

Bueno, prueba con la función

Bueno, prueba con la función que te dí abajo. La forma de usarla es ésta:

Borra toda la tabla donde cargaste las imágenes, y en su lugar pon la función que te dejé abajo. En tu código, donde bliteas la imagen que toca (image.blit), pon: mostrar_img(current)

No se te olvide quitar el #imagen que tienes, cámbialo por el máximo de imágenes (en tu caso, 35). También, en la función, cambia la parte que dice "imagen"..current..".png" por "Images/image"..current..".png"

Imagen de Codyexter

Hice otra cosa y funciono a medias...

encontre un error en 

for i = 1, 36 do
imagen[i] = image.load("Images/image"..i..".png")
end
 que se supone que era 36 y no 3... y cuando le puse 36 inicie el Comic en el PSP y se iniciaba hasta la musica pero no se veia nada luego, a los 2 segundos se apagó


Iphone 4G gsm iOS 6.0.2 Jailbreak

PS3 Slim 750GB CECH-2501A CFW 4.50 Habib

Wii Black [FW 4.3u + Homebrew Channel + Ultimate USB Loader GX]

Nintendo 3DS NTTDS

 

Imagen de barney77

¿De que forma

¿De que forma estas bliteando las Imagenes?

Imagen de PhAnThOm

si pones sonidos de calidad

si pones sonidos de calidad (WAV.MP3, etc) cracheara mucho si no limpias la ram varias veces mientras se reproduce el codigo... puedes limpiar la ram si usas dev creo que se limpia sola pero no estoi seguro


PhAnThom...

COBHC...


Imagen de Codyexter

Aun sin...

Aun sin el sonido crashea

Imagen de Codyexter

ok... ya tengo lua dev

pero me dice qu hay error en la linea 9

imagen[i] = Image.load("Images/image01.png")

EDITO: Olvidenlo era por la mayuscula... Pero... Ahora no se puede cambiar de imagen


Iphone 4G gsm iOS 6.0.2 Jailbreak

PS3 Slim 750GB CECH-2501A CFW 4.50 Habib

Wii Black [FW 4.3u + Homebrew Channel + Ultimate USB Loader GX]

Nintendo 3DS NTTDS

 

Actualiza el post con el

Actualiza el post con el nuevo código.

Imagen de Chimecho

y no va a cambiar

por que estás cargando la misma imagen, revisa este comment: http://psp.scenebeta.com/node/74289#comment-586523

Imagen de Codyexter

Oks... ya esta mejor...

Ya cambia la imagen... y esta lista para seguir haciendo las imagenes que le iba a poner... pero se me viene una ultima pregunta...

como puedo poner mas de una solo pista de musica?


Iphone 4G gsm iOS 6.0.2 Jailbreak

PS3 Slim 750GB CECH-2501A CFW 4.50 Habib

Wii Black [FW 4.3u + Homebrew Channel + Ultimate USB Loader GX]

Nintendo 3DS NTTDS

 

Imagen de Chimecho

pos..

cargas los sonidos con sound.load(ruta), y cuando necesites reproducirlos, sonidoX:play(canal) donde canal es un número del 1 al 8, es decir que puedes tener 8 sonidos reproduciendo a la vez



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

Imagen de Codyexter

mmm...

entonces quito el sound.loop(), y cargo 8 sonidos... a los cuales les doy en orden sonido1:play() pero lo del canal no le entendi...

segun entendi seria...

--Cargamos sonidos
sonido1 = sound.load(sounds/sound1.mp3)
sonido2 = sound.load(sounds/sound2.mp3)
sonido3 = sound.load(sounds/sound3.mp3)
sonido4 = sound.load(sounds/sound4.mp3)
sonido5 = sound.load(sounds/sound5.mp3)
 
--Los Ponemos a Sonar
sound.play(sonido1)
sound.play(sonido2)
sound.play(sonido3)
sound.play(sonido4)
sound.play(sonido5)

Pero... eso no los pondria a sonar a todos al tiempo?


Iphone 4G gsm iOS 6.0.2 Jailbreak

PS3 Slim 750GB CECH-2501A CFW 4.50 Habib

Wii Black [FW 4.3u + Homebrew Channel + Ultimate USB Loader GX]

Nintendo 3DS NTTDS

 

Imagen de Chimecho

casi

tu pones sound.play(sonidoX), y yo dije sonidoX:play(canal), que vendría siendo lo mismo que sound.play(sonidoX,canal), con tu code:

sound.play(sonido1,1)
sound.play(sonido2,2)
sound.play(sonido3,3)
sound.play(sonido4,4)
sound.play(sonido5,5)

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

LuaDEV va en minúsculas:

LuaDEV va en minúsculas: image.load 

Imagen de Codyexter

alguien me da algun link para luaDEV

sera porque yo no uso LuaDEV?.... 

Imagen de Dioni0396

Es que lo es

Imagen de Dioni0396

pues mira

has cargado las imagenes 2 veces

imagen = { Image.load("Images/image01.png"), 
Image.load("Images/image02.png"), 
Image.load("Images/image03.png")}
 
sound.loop("Sound/Backgroundsound.mp3") -- Puede ser MP3, AT3, BGM y WAV
 
for i = 1, 3 do --done va el 10 pon el número de imágenes que tengas, las imágenes se deben nombrar 1.png, 2.png y así (creo que sólo hay png y jpg)
imagen[i] = Image.load("Images/image01.png")
end

Yo lo haria asi:

for i = 1, 3 do --done va el 10 pon el número de imágenes que tengas, las imágenes se deben nombrar 1.png, 2.png y así (creo que sólo hay png y jpg)
imagen[i] = Image.load("Images/image01.png")
end
 
current = 1
 
while true do
controls.read()
imagen[current]:blit(0,0)
 
if controls.press("left") and current > 1 then
current = current - 1
elseif controls.press("right") and current < #imagen then
current = current + 1
end
screen.flip()
end
--Esta muy bien pero no debes cargar imagenes dos veces

Imagen de Chimecho

ah vale, ha mejorado

Eso, antes las cargaba dos veces, ahora tu las cargas 3, vamos progresando... xD
fuera broma, en este for:

for i = 1, 3 do --done va el 10 pon el número de imágenes que tengas, las imágenes se deben nombrar 1.png, 2.png y así (creo que sólo hay png y jpg)
	imagen[i] = Image.load("Images/image01.png")
end

cargas la misma imagen... no cambia el nombre nunca!, debería ser:

for i = 1, 3 do --done va el 10 pon el número de imágenes que tengas, las imágenes se deben nombrar 01.png, 02.png y así (creo que sólo hay png y jpg)
	imagen[i] = Image.load("Images/image0"..i..".png")
end



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

Imagen de Dioni0396

Cierto

Nunca aprendere!

Llora

Imagen de Nevado0

Image.load en mayusculas,

Image.load en mayusculas, luaDEV va siempre en minusculas!

Imagen de Codyexter

todavia no..

todavia no sale en el LUA player de PC...

Imagen de Nevado0

E lua player de pc es para

E lua player de pc es para luaHM creo que para luaDEV no hay

Imagen de NauTiluS1

Em cada cual tiene diferente

Em cada cual tiene diferente codes xD

imagen = image.load("imagen.png")
imagen2 = image.load("imagen2.png")
imagen3 = image.load("imagen3.png")
sonido = sound.load("sonido.mp3")
cambio = 1
sound.play(sonido)
while true do
controls.read()
imagen:blit(0,0)
 
if cambios == 1 then
imagen1:blit(0,0)
end
 
if cambios == 2 then
imagen2:blit(0,0)
end
 
if cambios == 3 then
imagen3:blit(0,0)
end
 
if cambios > 3 then
cambios = 1
end
 
if cambios < 1 then
	cambios = 3
end
 
if cambios > 3 then
	cambios = 1
end

Cada quíen tiene su manera


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Imagen de Chimecho

claro xD

cada cual tiene su forma de programar, pero esa que has puesto, no es la mejor, lo suyo es poner las imágenes en una tabla con un for como ha hecho xerpi, porque imagina un código donde tengas que cargar 100 imágenes... una variable para cada imagen ._.



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

imagen={} --creas una tabla

imagen={}  --creas una tabla que almacenará las imágenes
 
for i = 1, 10 do --done va el 10 pon el número de imágenes que tengas, las imágenes se deben nombrar 1.png, 2.png y así (también puede ser jpg o más formatos)
	imagen[i]=image.load("imagenes/"..i..".png")
end
 
sound.loop("tusonido.mp3") --también puede ser wav, ogg o más formatos...
 
current = 1 
 
while true do
controls.read()
imagen[current]:blit(0,0)
 
if controls.press("left") and current <1 then
	current=current-1
end
if controls.press("right") and current >#imagen then
	current=current+1
end
 
screen.flip()
end

Imagen de Chimecho

ogg?

Hay ogg en LuaDEV? :S

ah, acabo de leer tu code, hay un error en las condiciones de < y >

imagen={}  --creas una tabla que almacenará las imágenes
 
for i = 1, 10 do --done va el 10 pon el número de imágenes que tengas, las imágenes se deben nombrar 1.png, 2.png y así (creo que sólo hay png y jpg)
	imagen[i]=image.load("imagenes/"..i..".png")
end
 
sound.loop("tusonido.mp3") -- Puede ser MP3, AT3, BGM y WAV
 
current = 1 
 
while true do
	controls.read()
	imagen[current]:blit(0,0)
 
	if controls.press("left") and current >1 then
		current=current-1
	elseif controls.press("right") and current <#imagen then
		current=current+1
	end
 
screen.flip()
end



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

Ouch es verdad, eso me pasa

Ouch es verdad, eso me pasa por no revisar el code xD

No sé hasta que punto seas

No sé hasta que punto seas novato... y como tampoco mencionas ningún intérprete en especial, te responderé como si tuvieras un nivel básico y usaras LuaDEV.

El sonido de fondo es sencillísimo:

sound.loop("ruta al archivo.mp3")
Y listo, tendrás un sonido reproduciéndose continuamente ;)

La lectura de controles es muy sencilla también en LuaDEV (amos, que todo es sencillo con ese intérprete). Un pequeño ejemplo para un botón:

controls.read()
 
     if controls.press("cross") then
          --Código aquí, lo que queremos que se ejecute al presionar X
     end

Vamos con las imágenes. Hay que tener mucho cuidado, ya que si cargamos muchas imágenes, se colgará el psp por falta de ram (LuaDEV avisaría que ya no tiene ram, de todas maneras :P). Cómo podemos solventar este problema? Muy fácil: Pondremos las imágenes en una misma carpeta, y se llamarán igual, excepto por un número (imagen 1, imagen2 etc). Cargaremos las imágenes de una por una, y las eliminaremos de la ram cuando ya no hagan falta.
Para mayor comodidad, usaremos una función, algo así:

anterior = 0
 
function mostrar_img(current)
 
if anterior != current then
     img = nil
     collectgarbage()
          img = image.load ("imagen"..current..".png")
               img:blit(0,0)
                    anterior = current
end
end

La variable "anterior" servirá para controlar la imagen que acabamos de blitear (se inicializa en cero, para que se blitee automáticamente la 1a imagen al empezar).
En tu código principal, mueves otra variable con los botones de dirección. Esa variable la pasas de argumento a tu función y ya está. Un comic reader :)

EDITO: Se me olvidó, moví tu hilo. Las preguntas sobre programación, al foro de programación por favor ;)

Imagen de Guillermo_Cornielle

Emm

Si no me equivoco, a la función collectgarbage() deberia de estar de e4sta manera, collectgarbage(collect), así empieza el recolector para liberar memoria.

Al menos así se hacia en LuaHM.

Saludos.


Manual del Perfecto Votante Para un voto libre y justo!.

TheGCProjects

Imagen de Chimecho

casi...

collect va entre comillas :P, así: collectgarbage("collect")

uis...

Tienes razón, error mío :P

Imagen de Chimecho

nil?!

por que haces img = nil teniendo image.free... ?

Vamos, chime... bien sabes

Vamos, chime... bien sabes que el resultado final será el mismo :P

Imagen de Chimecho

no...

con nil tienes que esperar que pase el recolector de basura, en cambio con free se libera de inmediato :P

Imagen de Codyexter

Pero...

La parte de las imagenes es para regresarlas o para ir a la siguiente?

y.. si es para regresarlas... como paso a la siguiente?

perdon es que soy novato en unas cosas mas que en otras xD...


Iphone 4G gsm iOS 6.0.2 Jailbreak

PS3 Slim 750GB CECH-2501A CFW 4.50 Habib

Wii Black [FW 4.3u + Homebrew Channel + Ultimate USB Loader GX]

Nintendo 3DS NTTDS

 

Imagen de barney77

Pues

Pues sí, es sencillo, lo difícil son las imagenes, busca los Tutoriales de programación, aquí en la Scene.

Imagen de Codyexter

Si, pero

estoy me confundo con ellos

Imagen de barney77

Cualquier

Cualquier duda mandame un MP.

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.