Aquí os dejo un ejemplo de como hacer escuchar nuestros sonidos. Los sonidos a los que me refiero son los ruidos y golpes que hace el juego al saltar o al cerrar una puerta. En este caso cada vez que pulsamos la tecla arriba saldrá el sonido cargado de este modo:
// las variables
archivo: SDL.RWops
sonido: SDLMixer.Chunk
canal: SDLMixer.Channel
sonido: SDLMixer.Chunk
canal: SDLMixer.Channel
// inicialización y llamada con play
archivo= new SDL.RWops.from_file ("/home/gontzal/Mahaigaina/boing.ogg","rb")sonido= new SDLMixer.Chunk.WAV (archivo,-1)
canal.play(sonido,0)
[indent=4]
uses SDL
uses SDLMixer
screen: unowned SDL.Screen
alto: int16=400
ancho:int16 =800
a: int=0
fin:bool=false
musica2: SDLMixer.Music
archivo: SDL.RWops
sonido: SDLMixer.Chunk
canal: SDLMixer.Channel
init
SDL.init()
screen = SDL.Screen.set_video_mode (ancho, alto,15,SurfaceFlag.FULLSCREEN| SurfaceFlag.DOUBLEBUF | SurfaceFlag.HWACCEL | SurfaceFlag.HWSURFACE)
a= SDLMixer.open(44100,SDL.AudioFormat.S16LSB,2,4096)
var musica2= new SDLMixer.Music ("/home/gontzal/Mahaigaina/ZOOM0009.MP3")
musica2.play(1)
archivo= new SDL.RWops.from_file ("/home/gontzal/Mahaigaina/boing.ogg","rb")
sonido= new SDLMixer.Chunk.WAV (archivo,-1)
canal.play(sonido,0)
while fin == false
event: SDL.Event
while (Event.poll (out event))== 1
if event.type ==SDL.EventType.QUIT
print "adios"
fin= true
break
else if event.type == EventType.KEYDOWN
if event.key.keysym.sym == KeySymbol.ESCAPE
fin=true
break
if event.key.keysym.sym == KeySymbol.UP
canal.play(sonido,0)
break
SDL.quit()
No olvidemos que valac necesita las siguientes opciones para poner la música:
$ valac --pkg sdl --pkg sdl-mixer -X -lSDL_mixer misonido.gs --Xcc=-I/usr/include/SDL
Si quereís consultar los comandos de Genie + SDL no dudeís en consultar Valadoc en la sección de SDL.
Alli encontrareis los primos SDLGraphics, Mixer, Image, Net,etc. Para
buscar comandos en Valadoc se inserta la palabra clave SDL en el
buscador superior izquierdo y hay se va desplegando la ayuda.
No hay comentarios:
Publicar un comentario