Hola
Estoy desarrolando una aplicación con LUA y para este fin necesito saber como hacer que para cuando pulse un boton concreto suene un sonido concreto.
He probado asi:
if pad:left() then
variabledesonido.play()
end
Y todo habiendo antes cargado el sonido [Sound.load()] y el control [Controls.read()]
Tambien tengo el problema de que quiero que al pulsar un boton pase alguna cosa, pero que cuando deje de pulsar el boton siga igual.
if pad:r() then image:blit(0, 0, imagen) end --es decir, que cuando pulse la R se cambie el fondo --como hago para que al soltar el boton no vuelva a estar como antes?
Espero que alguien pueda ayudarme.
SceneBET y PSP Euskaraz 2... ¿Pronto?
Aver
Chimecho lo puedes repetir ? XDDDDDDDDD
Salu2
Bueno, aquí te dejo un
Bueno, aquí te dejo un ejemplo de como sería en LUA HM7
Pues bien, el oldpad=Controls.read() del inicio, es por el if que está dentro del while, necesita que la variable oldpad esté inicializada para poder hacer una comparación.
Luego, el if pad:left() and not oldpad:left() then es para que ejecute la acción dentro de él una sola vez, en este caso, sound:play().
y por útltimo el oldpad=pad, te lo explico con un ejemplo.....
Primera vuelta:
no has presionado nada, entonces oldpad:left() será false al igual que pad:left(), al hacer la comprobación del if pad:left() and not oldpad:left() sería: if false and not false then, (not false = true) esto da como resultado false, por lo tanto no entra al if.
olpad=pad -- sigue igual
Ahora, en una de las vueltas del while, presionas "left", entonces....
pad:left() sería true
oldpad:left() sería false porque conserva el valor de la anterior vuelta
ahora: if pad:left() and not oldpad:left() then sería: if true and true then --- Justo en este momento entra al if y ejecuta la acción.
oldpad=pad -- ahora oldpad:left() es true
fin de esa vuelta
Ahora, en la siguiente vuelta tenemos:
pad:left() sería true, ya que las vueltas del while son muy rápidas y en teoría, sigues presionando left
oldpad:left() sería true por la vuelta anterior
ahora: if pad:left() and not oldpad:left() then sería: if true and false then ---ya no entra más
oldpad=pad -- oldpad:left() sigue siendo igual a true
fin de esa vuelta
y así para las demás vueltas....
Espero haberme explicado....
Ahora para lo de las imágenes:
Eso debería funcionar...
Saludos, y espero haberte ayudado
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 -_-
Por parte de la respuesta de
Por parte de la respuesta de lo de la imagen: Lo he probado y me funciona bien. Lo he pillado y me viene fantastico. Muchas gracias.
Luego, lo de los sonidos, ya probe a poner lo del oaenable() o como sea, pero me decia que era un valor nulo.
SceneBET y PSP Euskaraz 2... ¿Pronto?
Es que tu usas luaplayer
Es que tu usas luaplayer 0.20 y yo he puesto el ejemplo en LUA HM7....
Saludos!
Y el LUA Player HM7 es para
Y el LUA Player HM7 es para PSP? Vale, creia que era un reproductor para PC... Menudo fallo de principiante. Muchas gracias.
Ya de paso, ¿De donde lo descargo? :P En scenebeta solo hay hasta la HM3...
SceneBET y PSP Euskaraz 2... ¿Pronto?
Hola, pues en scenebeta solo
Hola, pues en scenebeta solo hay hasta la HMv3 que sería HM10, con la que mejor me ha ido (Hasta la aparición de luaDev), es con HM7 aquí te dejo un link de descarga del HM7:
http://psp.scenebeta.com/system/files/private/LuaPlayerHM7CF...
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 -_-
OK, muchas gracias. Te debo
OK, muchas gracias. Te debo unas cuantas ;)
^^
Nah, no te preocupes, solo me gusta ayudar.....
Dentro del arhivo de la descarga hay un txt "Functions.txt", allí están todas las funciones de LUA HM7, pero están en inglés.
Suerte!
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 -_-
En fin, aprece que LUA esta
En fin, aprece que LUA esta contra mi... espero no parecer pesado:
No me reproduce!! Me desespero mucho!! jeje
¿Que puedo hacer?
SceneBET y PSP Euskaraz 2... ¿Pronto?
?
Mira el ejemplo que te puse arriba.
Joder, como estoy o.O Sera
Joder, como estoy o.O Sera porque estoy en examenes jeje. Ya le echare un vistazo
Pues mira te dejo un
Pues mira te dejo un pequeño ejemplo:
no lo prove bien,pues porque no tengo el codigo de la aplicacion aqui,puse de lo que me acuerdo :P,talvez tenga algun fallo,pero intenta mas al rato lo vere de nuevo.
Salu2.
v10.0
Muchas gracias, pero el LUA
Muchas gracias, pero el LUA Player me dice que nopres() es un valor nulo. Tambien he probado a corregir y poner nopress() pero me dice lo mismo.
Y una cosa mas, no llego a entender para que sirve el oldpad si se le da el mismo valor que a pad que es Controls.read() . ¿Podrias explicarme bien esas funciones, y las que van despues del screen.flip()?
SceneBET y PSP Euskaraz 2... ¿Pronto?
Pues mira la funcion
Pues mira la funcion nopres() es una funcion creada por el mismo interprete que al final de todo es una variable pero es muy util ala hora de no querer escribir todo un codigo cuando ya la variable con el codigo la tienes almacenada,tambien sirve para que tu codigo sea mas fluido,lo de oldpad es bastante importante,pues es como control universal de tu codigo,si no funciona pad=Controls.read por alguna razon,ponemos lo de oldpad y funcionara,lo que sigue de screen.flip es para terminar el codigo,para que no te salga el error de <eof> en el PSP,mira:
while true do
pad = Controls.read()--ponemos la variable para que pueda ser terminada
if noPRES() then--igual ponemos esta funcion creada
end--con esto terminamos la de arriba y esta.
oldpad = Controls.read()--esta tambien hay que terminarla
end--con esta terminamos oldpad
en fin esto sirve para que no sigan ejecutandose infinitamente las funciones.
Salu2
v10.0
Mira
no se mucho de lua apenas estoy aprendiendo, pero al leer el codigo dice algo asi
function noPRES()--Yo hice una funcion para mayor comodidad(llamada noPRES() que significa que no presionamos)
Osea que psppreziso creeo esa funcion que mas arriba del codigo debiera estar definida (asi es en C);
otra cosa en que lua programas?
por que algunas cosas cambian en distintos luas pero todo se puede acoplar vale;
espero haber ayudado
Un Saludo
IPN2
Pues no se, la verdad, estoy
Pues no se, la verdad, estoy siguiendo el tutorial de "Una forma alternativa de iniciarse en LUA" o algo asi de ELeNDeR. Uso el LUAPlayer 0.20 para PSP, ya que mi objetivo es programar para PSP.
Y, si como tu dices, la funcion deberia estar arriba definida, en el codigo que compartio no estaba definido, y por eso fallaba.
SceneBET y PSP Euskaraz 2... ¿Pronto?