Anuncios Google

Problema con sound.loop()

Hola pues el problema es que pongo un sound.loop() en un menu simple de tres opciones pero suena desfigurado y no me gusta el sonido es de solo 10 segundo es el siguiente

http://www.subsidence.org/Assets/Sounds/rain.mp3 y aveces no me puedo mover entre las opciones Aqui el codigo

--El menu es basado al tutorial de Cam-Maker ^^
mov = sound.load("img/menu.wav")
bg = image.load("img/bg.png")
function drawoptions()
   x = 175
   y = 25
   menu = {}
   menu[1] = "option1"
   menu[2] = "option2"
   menu[3] = "option3"   
   for i= 1, #menu do
      if KU == i  then
         screen.print(x,y,menu[i],0.8,negro,blanco)
      else 
         screen.print(x,y,menu[i],0.8,blanco,0x0)
      end
      y = y + 25
   end
end
function controldraw()   
   if controls.press("down") and KU ~= #menu then
      mov:play() KU = KU + 1
   elseif controls.press("down") and KU >= #menu then 
      mov:play() KU = 1
   end
   if controls.press("up") and KU > 1 then  
      mov:play() KU = KU - 1
   elseif  controls.press("up") and KU == 1 then 
      mov:play() KU = #menu
   end
end
function katiria()--si uso nombre para los function ^^
screen.print(0,10,"text1")
screen.print(0,252,"Text 2",0.5,blanco,negro,"scroll_through")--aqui no me funciona el scroll =(
   if controls.cross() and KU==1 then mov:play() dofile("script2.lua") end
   if controls.cross() and KU==2 then mov:play() dofile("credit.lua") end
   if controls.cross() and KU==3 then mov:play() os.quit() end
   end
KU = 1
negro = color.new(0,0,0)
blanco = color.new(255,255,255)
while true do
   controls.read()
   image.blit(0,0,bg)
   controldraw()
   katiria()
   sound.loop("img/rain.mp3")
   drawoptions()
   screen.flip()
end


 ODIO ser Bipolar... ME ENCANTA!! D:

     

     Twitter       Facebook      WebPage


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 DeViaNTe

mov =

mov = sound.load("img/menu.wav")
bg = image.load("img/bg.png")
 
function drawoptions()
   local x,y,menu;
   x = 175
   y = 25
   menu = { "option1", "option2", "option3" }
   for i=1,#menu do
      if KU == i  then
         screen.print(x,y,menu[i],0.8,negro,blanco)
      else
         screen.print(x,y,menu[i],0.8,blanco,0x0)
      end
      y = y + 25
   end
end
 
function controldraw()   
   if controls.press("down") and KU ~= #menu then
      mov:play(7);
      KU = KU + 1;
   elseif controls.press("down") and KU >= #menu then 
      mov:play(7);
      KU = 1
   end
   if controls.press("up") and KU > 1 then  
      mov:play(7);
      KU = KU - 1;
   elseif  controls.press("up") and KU == 1 then 
      mov:play(7);
      KU = #menu
   end
end
 
xscroll = 0;
 
function katiria()
   screen.print(0,10,"text1")
   xscroll = screen.print(xscroll,252,"Text 2",0.5,blanco,negro,"scroll_through",200)
   if controls.press("cross") and KU==1 then mov:play(7); dofile("script2.lua") end
   if controls.press("cross") and KU==2 then mov:play(7); dofile("credit.lua") end
   if controls.press("cross") and KU==3 then mov:play(7); os.quit() end
end
 
KU = 1
 
negro = color.new(0,0,0)
blanco = color.new(255,255,255)
 
sound.loop("img/rain.mp3")
while true do
   controls.read()
   image.blit(0,0,bg)
   controldraw()
   katiria()
   drawoptions()
   screen.flip()
end

Hmm, me gusta usar "locales" cuando las variables dentro de las funciones son usadas únicamente dentro de esas funciones, pues así, te aseguras de que sólo existen dentro de esa funcion, y fuera se auto-liberan.

El loop va fuera del while.

Añadí el canal al mov:play, le asigné el canal 7, para asegurarme de que no se hace play en el mismo canal que el loop. La psp tiene 8 canales, distribuye los sonidos.

Cambié controls.cross por controls.press("cross"), pq imagino que quieres hacer sólo un dofile, al pulsar, y no mientras mantengas pulsado ir haciendo.

El scroll necesita "width", para saber el ancho del scroller, además de que el parametro x es un parámetro de entrada y salida a la vez. (creo k algo faltaba en la docu, tendré k revisarla).

Por lo demás no veo más posibles problemas.


Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es

Imagen de iRVing_Prog

fuera del bucle principal

coloca el sound.loop fuera del bucle principal (while true do) Ya que si no se estara reproduciendo lo mismo a cada pasada del bucle :)

Salu2


 

Imagen de Kenta15

Gracias iRVing_Prog ^^ te doy

Gracias iRVing_Prog ^^ te doy unos bitos =D

EDITO: Ahora cuando paso a otro script se me apaga la psp xD que toy haciendo mal??

Imagen de iRVing_Prog

si puedes poner el código de los script

ya arreglado el que tiene el sound.loop Asi puedo ayudarte mejor :)

Imagen de Kenta15

Ok creo que solo tendre que

Ok creo que solo tendre que parar el sound.loop verdad?? vale pongo el script ahora

Imagen de iRVing_Prog

al script

donde vas hay que parar el sound.loop() con esa misma funcion, solo que sin pasarle ningun parametro .D

 

Imagen de Kenta15

Lo hize asi pero como quiera

Lo hize asi pero como quiera se me apga la psp =/

mov = sound.load("img/menu.wav")
bg = image.load("img/bg.png")
function drawoptions()
   x = 175
   y = 25
   menu = {}
   menu[1] = "Download Update"
   menu[2] = "Credit's"
   menu[3] = "Exit"   
   for i= 1, #menu do
      if KU == i  then
         screen.print(x,y,menu[i],0.8,negro,blanco)
      else 
         screen.print(x,y,menu[i],0.8,blanco,0x0)
      end
      y = y + 25
   end
end
function controldraw()   
   if controls.press("down") and KU ~= #menu then
      mov:play() KU = KU + 1
   elseif controls.press("down") and KU >= #menu then 
      mov:play() KU = 1
   end
   if controls.press("up") and KU > 1 then  
      mov:play() KU = KU - 1
   elseif  controls.press("up") and KU == 1 then 
      mov:play() KU = #menu
   end
end
function katiria()
screen.print(0,10,"Text1")
screen.print(0,252,"text2",0.5,blanco,negro,"scroll_through")-- el scroll no me funciona lol
   if controls.cross() and KU==1 then mov:play()  sound.loop() dofile("download.lua") end
   if controls.cross() and KU==2 then mov:play()  sound.loop() dofile("credit.lua") end
   if controls.cross() and KU==3 then mov:play() os.quit() end
   end
KU = 1
negro = color.new(0,0,0)
blanco = color.new(255,255,255)
sound.loop("img/rain.mp3")--aqui el loop
while true do
   controls.read()
   image.blit(0,0,bg)
   controldraw()
   katiria()
   drawoptions()
   screen.flip()
end


 ODIO ser Bipolar... ME ENCANTA!! D:

     

     Twitter       Facebook      WebPage

Imagen de Chimecho

mmm..

podrias poner un os.message("algo") antes de hacer dofile? es para descartar errores en este script, puede ser que el error esté en los otros...



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 iRVing_Prog

sound.loop()

está mal puesto y 2 veces. Solo basta con ponerlo fuera del bucle.

Imagen de Kenta15

Y como hago para que cuando

Y como hago para que cuando me valla al otro script se pare la loop??

Imagen de iRVing_Prog

digamos que te vas a otro scrirpt

cuando presiones "x" entonces

if controls.press("cross") then
sound.loop() --paras el sonido
dofile("otroscript.lua")
 
end

:)


 

Imagen de barney77

Me podrias explicar

Me podrias explicar, ¿porque llamas a MENU[1] sin antes aver credo la Tabla? S:

Soy novato y no entiendo eso xD.

Imagen de Kenta15

La tabla ya esta creada "

La tabla ya esta creada " MENU = {}"

EDITO: Ya se pondre el sound.loop andtes del mov:play()

Imagen de barney77

Cierto

Cierto no me fije.

Imagen de Kenta15

Se me sigue apagando la PSP

Se me sigue apagando la PSP T.T

Imagen de sting18

La verdad tu forma de

La verdad tu forma de programar es muy diferente a la mia tienes muchas cosas que no deverias tener porque aunque funcionan estan de mas creo programas mas como chime deja le digo que revise tu post saludos.


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.