mirror of
https://github.com/Febbweiss/gq-pacman.git
synced 2026-03-04 22:25:41 +00:00
80 lines
2.5 KiB
JavaScript
80 lines
2.5 KiB
JavaScript
/**
|
|
* gameQuery rev. $Revision$
|
|
*
|
|
* Copyright (c) 2008 Selim Arsever (gamequery.onaluf.org)
|
|
* licensed under the MIT (MIT-LICENSE.txt)
|
|
*/
|
|
|
|
/**
|
|
* To use this wrapper you will need:
|
|
* 1) Include SoundManager2.js before this script
|
|
* 2) Give SoundManager2 the position of the swf ie. : soundManager.url = './path/to/swf'
|
|
* 3) Optionally deactivate the debug mode from SoundManager2
|
|
*/
|
|
|
|
// this allows use of the convenient $ notation in a plugin
|
|
(function($) {
|
|
soundManager.url = './'
|
|
// Here is a bogus soundWrapper written as an example
|
|
$.extend($.gameQuery, {
|
|
SoundWrapper: function(url, loop) {
|
|
|
|
// start loading the sound. Should turn this.ready to true once done.
|
|
this.load = function(){
|
|
try{
|
|
this.sound = soundManager.createSound({
|
|
id: this.id,
|
|
url: url,
|
|
autoplay: false,
|
|
autoLoad: true
|
|
});
|
|
} catch (err) {
|
|
// if something failed we generate a fake sound object
|
|
this.sound = {readyState: 3, play: function(){}};
|
|
}
|
|
};
|
|
|
|
// plays the sound if this.ready == true
|
|
this.play = function(){
|
|
if(loop){
|
|
this.sound.play({
|
|
onfinish: function() {
|
|
this.play();
|
|
}
|
|
});
|
|
} else {
|
|
this.sound.play();
|
|
}
|
|
};
|
|
|
|
// pauses the sound if it is playing
|
|
this.pause = function(){
|
|
this.sound.pause();
|
|
};
|
|
|
|
// stops the sound if it is playing, rewind (even if paused)
|
|
this.stop = function(){
|
|
this.sound.stop();
|
|
};
|
|
|
|
// mutes the sound without stopping it
|
|
this.muted = function(mute){
|
|
if(mute){
|
|
this.sound.mute()
|
|
} else {
|
|
this.sound.unmute();
|
|
}
|
|
}
|
|
|
|
// returns true if the sound is ready to be played
|
|
this.ready = function(){
|
|
return this.sound.readyState==3
|
|
};
|
|
|
|
// add the sound to the manager
|
|
this.id = 'sound_'+$.gameQuery.resourceManager.sounds.length;
|
|
$.gameQuery.resourceManager.addSound(this);
|
|
|
|
return true;
|
|
}});
|
|
})(jQuery); |