Anuncios Google

Primer Homebrew pero ...

Hola he hecho un hombrew en lua muy sencillo. Todo iba bien hasta que le anadi, musica la cual se reproduce con el boton "L" y se detiene con el "R", el problema esta en que si lo detengo y quiero ponerla a empezar luego de detenerlo no se activa, he leido y re leido y no veo donde esta mi error.

Segundo prove el hombrew con los>  screen:print(x,y,"texto"color) para que salienran textos y bien, le anadi imagenes y bien, pero luego en la pagina de piginorecrdobien lei que puedo aumentar el font de la letra con > screen:fontprint(letra25,x,y,"texto"color)  habiendo antes declarado la variable "letra25" con estos codigos> letra25 = Font.createProportional() 
letra25:setPixelSizes(0, 25)
  bueno lo porbe en la pc con el lua para la pc y bien pero cuando lo corro en la psp va bien pero en un momento como que brinca el programa.

Espero haber sido explicito y haber dejado demostrado que si hice todo lo posible por resolver el problema mas bien no lo encontre, si son tan amables me pueden ayudar con estas cositas. Aqui dejo el enlace al hombrew para que lo ejecuten y para que puedan leer el codigo del programa con notepad++.

Pd: Lo Probe en mi psp slim 5.50GenD-2

Gracias por su tiempo y dedicacion en ensenar a los nuevos.


 

http://www.megaupload.com/?d=FLTAZWFR

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.

He revisado tu código y

He revisado tu código y tengo algunas preguntas y sugerencias:

1.
¿Que versión de LUA utilizas? Supongo que es de las antiguas porque si
usas el LUA Player de windows... Mejor usa las versiones nuevas, te
recomiendo LUA PGE, el HM está bien también pero me dio muchos
problemas al usar mp3 y wavs. Si vas a seguir usando este LUA mejor usa las funciones Mp3me (mira el código que te he puesto)

2. Necesitas poner la variable oldpad para que lea las nuevas pulsaciones bien, si no es como si estuviera leyendo todo el rato la misma.

3. Creo que abusas un poco de los
screen.blit(), ¿cuando pulsas un botón tu quieres que la imagen de la
psp se quede permanente en la pantalla hasta que pulses otro botón? ¿O
que solo salgan si estás presionando el botón? (de esta manera te
ahorras mucho código)

4. Intenta entender lo que he modificado de tu código, si no entiendes algo pregunta, y otra cosa, te lo he arreglado así, supongo que hay maneras mejores y peores, es la que se me ha ocurrido.

Ya me dirás que tal. Un saludo.

--Definimos colores
blanco = Color.new(255, 255, 255)
azul = Color.new (0, 0, 255)
--Variables y Pulsaciones
letra12 = Font.createProportional()
letra12:setPixelSizes(0,12)
letra25 = Font.createProportional()  
letra25:setPixelSizes(0, 25)
letra30 = Font.createMonoSpaced()
letra30:setPixelSizes( 0, 30 )
font = Font.createProportional() 
--cargamos imagenes
psp1k = Image.load("Imagenes/psp1k.png")              
psp2k = Image.load("imagenes/psp2k.png")
psp3k = Image.load("imagenes/psp3k.png")
pspgo = Image.load("imagenes/pspgo.png")
--para controlar el mp3
sonando = false
--Comienza el codigo
--Bucle principal del programa
 
function LeerPulsacion ()
pad = Controls.read()
if pad:right() and oldpad ~= pad then
	screen:blit(1,1,psp1k)
	screen:fontPrint( letra30, 170, 130, "Derecha",  blanco )
end
if pad:up() and oldpad ~= pad then
	screen:blit(1,1,psp2k)
	screen:fontPrint( letra30, 180, 130, "Arriba", blanco )
end
if pad:down() and oldpad ~= pad then
	screen:blit(1,1,psp3k)
	screen:fontPrint( letra30, 190, 130, "Abajo", blanco )
end
if pad:left() and oldpad ~= pad then
	screen:blit(1,1,pspgo)
	screen:fontPrint( letra30, 165, 130, "Izquierda", blanco )
end
if pad:cross() and oldpad ~= pad then
	screen:blit(1,1,psp1k)
	screen:fontPrint( letra30, 195, 130, "Equis", blanco )
end
if pad:triangle() and oldpad ~= pad then
	screen:blit(1,1,psp2k)
	screen:fontPrint( letra30, 160, 130, "Triangulo", blanco )
end
if pad:circle() and oldpad ~= pad then
	screen:blit(1,1,psp3k)
	screen:fontPrint( letra30, 175, 130, "Circulo", blanco )
end
if pad:square() and oldpad ~= pad then
	screen:blit(1,1,pspgo)
	screen:fontPrint( letra30, 170, 130, "Cuadrado", blanco )
end
if pad:start() and oldpad ~= pad then
	screen:blit(1,1,psp1k)
	screen:fontPrint( letra30, 195, 130, "Start", blanco )
end
if pad:select() and oldpad ~= pad then
	screen:blit(1,1,psp2k)
	screen:fontPrint( letra30, 185, 130, "Select", blanco )
end
if pad:l() and oldpad ~= pad then
	screen:blit(1,1,psp3k)
	screen:fontPrint( letra30, 205, 130, "Play", blanco )
	if not sonando then 
		Mp3me.load("\loop.mp3") 
		Mp3me.play() 
		sonando = true
	end
end
 
if pad:r() and oldpad ~= pad then
	screen:blit(1,1,pspgo)
	screen:fontPrint( letra30, 205, 130, "Stop", blanco )
	if sonando then
		Mp3me.stop()
		sonando = false
	end
end
end
while true do
screen:clear()
	screen:fontPrint( letra12, 1, 11, "Pulsa L para Reproducir la musica", azul)
	screen:fontPrint( letra12, 1, 31, "Pulsa R para Detener la musica", azul)
	screen:fontPrint( letra12, 1, 61, "Pulsa los demas botones para que se lea su pulsacion", azul)
	screen:fontPrint( letra12, 1, 91, "ButtonsTester  By: Boujack", blanco)
	LeerPulsacion()
screen.waitVblankStart()
screen.flip()
end

Gracias

veo que has corregido el area de la musica y el oldpad.

Sobre la musica entiendo un poco, asignas a la variable false a la variable sonando ok eso lo entendi pero porque?

end
if pad:l() and oldpad ~= pad then
screen:blit(1,1,psp3k)
screen:fontPrint( letra30, 205, 130, "Play", blanco )
if not sonando then -- si no es falso entonces
Mp3me.load("\loop.mp3") -- load la cancion
Mp3me.play() --reproducela
sonando = true -- asi sera verdadero (esto ya que ariba dice que no es falso)

if pad:r() and oldpad ~= pad then
screen:blit(1,1,pspgo)
screen:fontPrint( letra30, 205, 130, "Stop", blanco )
if sonando then --(si es falso entonces)
Mp3me.stop() -- detener
sonando = --false es falso ya que ariba dice que es falso

creo haber entendido los otones "R" y"L" pero esto me tiene un poco confundido (sonando = false)

Otra cosa sobre el "and oldpad ~= pad" que dice esto en castellano a lo mejor asi lo entiendo y lo pueda usar con mas seguridad en un futuro.

De paso te enviare un MP para que este pendinte por favor y la verdad gracias un monton.

Hola de nuevo, la variable

Hola de nuevo, la variable sonando la puse con la idea siguiente: si el mp3 esta ya sonando (sonando = true) pues entonces no es necesario que vuelva a empezar a sonar si se pulsa de nuevo el boton L, si no esta sonando (sonando = false) entonces si que hay que decirle que empiece a sonar, pero ya te dije, se me ocurrio ponerlo asi pero prueba a quitarlo, quiza no es necesario, haciendo pruebas es como más aprenderás a programar, es el consejo que te doy.

 

Respecto al oldpad una aclaracion, en teoria al final se deberia poner una sentencia del estilo oldpad=pad, esto es para que solo se detecte una pulsacion de tecla y no muchas a la vez, no te puse lo del oldpad=pad para que al presionar un boton y dejarlo pulsado se mostrara la imagen correspondiente, si pones entonces se mostrara durante un instante y se ira, aunque tengas pulsado el boton.

 

Un saludo

ya voy comprendiendo

ya voy comprendiendo verificare lo de la Musica.

Gracias por tu tiempo se me hizo imposible esperarte, pero esta noche si podre ya que tengo otra dudila con lua tal vez me pedas ayudar espero

Imagen de Kevinkl3

sera

Que puede poner el codigo aqui?? mega no me deja descargar..

Ayuda por favor!

Ayuda por favor!

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.