Hola a todos:
Miren pues estoy usando las funciones en mi Code, quiero que reproduzca un sonido al presionar Equiz pero esto esta en una funcion, les explico con mi code.
--Variables, Funciones, Colores, ETC rojo = color.new(255,0,0) fondo = image.load("fondo.jpg") sonido1 = sound.load("Sonido1.mp3") function sonido1() controls.read() if controls.cross() then sound.play(sonido1) end end while true do fondo:blit(0,0) screen.print(50,50,"Presiona Equiz",rojo) function sonido1() screen.flip() end end
No me marca error solo se congela, y otra pregunta, ¿Por qué tengo que poner dos end al final?, si no los pongo me marca error, pero tengo entendido yo, que solo debería llevar solo 3 end el codigo y no 4, pues los primeros 2, uno cierra el if y otro la funcion, el tercero cierra el while, pero el cuarto?, este que hace, gracias.
Saludos.
como hago que cuando inicie
como hago que cuando inicie el script se reprodusca el mp3 automaticamente
...
sonido = sound.load("Sonido.mp3")
sonido:play()
Si
Si solo es reproducir el sonido al iniciar script puedes optar también por...
sound.loop("ruta_archivo.formato")
Pd. Te ahorra escribir el load y el play.
Salu2.
Dicen que soy programador... Eso dicen.
y para que sirve .loop?
el loop para que sirve?
Para
Para reproducir sonido, es muy util ya que el sonido al finalizar vuelve a comenzar. A parte de esto puedes añadir:
title
(string)artist
(string)album
(string)year
(string)comment
(string)genrecode
(string)genre
(string)track
(string)tracknumber
(number)length
(number) (en segundos)cover
(boolean) (si tiene o no imagen)imagetype
(string) [ "JPG" \ "PNG" ]Copy/paste de la documentación
En resumidas cuentas, nombre de artista, año, portada... etc
Edito: Por cierto, de la forma que pusiste lo de play creo que la música solo se reproduce una vez xd (creo)
Dicen que soy programador... Eso dicen.
ok
ok
Pues tienes varios
Pues tienes varios errores.
1- Tienes que darle un nombre a la funcion mas o menos asi "function nombre(tusonido)
2- Pones controls.read() fuera del bucle y dentro de una function y controls.read() tiene que ir dentro de while true do
3- Para llamar a la funcion seria asi
if controls.press("cross") then
nombredelafuncion(sonido)
end
4- No tienes que poner otra funcion dentro del bucle
Prueba a ver creeo que seria asi xD
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
No es una funcion
No es una funcion la que esta dentro del bucle, en Hm así se llama alas funciones peor veo qe en DEV se es diferente y gracias.
Tienes un end de más. Borra
Tienes un end de más. Borra el de la última línea y prueba de nuevo.
Sí
Sí lo hago y me marca error.
Perdón, no vi otro error que
Perdón, no vi otro error que tienes. Cuando llamas a tu función dentro de tu bucle, no debes usar la palabra function, sólo el nombre que le asignaste. Mira este ejemplo:
Deja pruebo y te aviso
Deja pruebo y te aviso.
EDITO: Mira, borre el end del final y llame ala funcion como me dijiste, pero ahora cuando presiono equiz me marca esto:
linea:7
Argumento número 1 incorrecto para play. Se esperaba un objeto de tipo soun y se recibió un objeto de tipo function.
EDITO 2: Pues ya me sirvio, solo cambie el nombre del sonido y de la función.
Aquí mi code:
Un saludo y gracias por la ayuda.
Cambia el nombre que le
Cambia el nombre que le asignaste a tu sonido cuando lo cargaste con sound.load. Ponle cualquier otro nombre, pero que no se llame como tus funciones ;)
EDITO: Genial :)
funcion sonido
sera algo asi:
Espero te sirva. Salu2
Pero
Pero, alado de function reproduci(nombresonido) va el nombre de la variable que carga el sonido, o va el nombre del sonido, y va entre comillas?
Le puedes poner cualquier
Le puedes poner cualquier nombre y es sin comillas y antes de screen.flip() pones
tufuncion(nombrefuncion)
Para comprobarla
el nombre de la variable
el nombre de la variable =)
Ups sorry no lo sabia :P
Ups sorry no lo sabia :P
No se preocupen
No se preocupen, ya lo sulocione gracias a rober.
El erro era que al llamar la funcion tenia que quitar la palabra function y nadmas dejar el nombre.