mirror of
https://github.com/photonstorm/phaser
synced 2024-11-27 15:12:18 +00:00
Added docs for remove and removeByKey methods
This commit is contained in:
parent
267cfed1d0
commit
c919d331a6
1 changed files with 20 additions and 1 deletions
|
@ -134,6 +134,12 @@ var BaseSoundManager = new Class({
|
||||||
sound.events.once('SOUND_ENDED', sound.destroy.bind(sound));
|
sound.events.once('SOUND_ENDED', sound.destroy.bind(sound));
|
||||||
sound.play(spriteName, config);
|
sound.play(spriteName, config);
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param {ISound} sound
|
||||||
|
* @returns {boolean} True if the sound was removed successfully, otherwise false.
|
||||||
|
*/
|
||||||
remove: function (sound) {
|
remove: function (sound) {
|
||||||
var index = this.sounds.indexOf(sound);
|
var index = this.sounds.indexOf(sound);
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
|
@ -142,6 +148,11 @@ var BaseSoundManager = new Class({
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {string} key
|
||||||
|
* @returns {number} The number of matching sound objects that were removed.
|
||||||
|
*/
|
||||||
removeByKey: function (key) {
|
removeByKey: function (key) {
|
||||||
var removed = 0;
|
var removed = 0;
|
||||||
for (var i = this.sounds.length - 1; i >= 0; i--) {
|
for (var i = this.sounds.length - 1; i >= 0; i--) {
|
||||||
|
@ -183,7 +194,15 @@ var BaseSoundManager = new Class({
|
||||||
* @param {number} delta - The delta time elapsed since the last frame.
|
* @param {number} delta - The delta time elapsed since the last frame.
|
||||||
*/
|
*/
|
||||||
update: function (time, delta) {
|
update: function (time, delta) {
|
||||||
// TODO remove pending sounds
|
this.sounds.sort(function (s1, s2) {
|
||||||
|
return (s1.pendingRemove === s2.pendingRemove) ? 0 : s1 ? 1 : -1;
|
||||||
|
});
|
||||||
|
for (var i = this.sounds.length - 1; i >= 0; i--) {
|
||||||
|
if (!this.sounds[i].pendingRemove) {
|
||||||
|
this.sounds.splice(this.sounds.length - 1 - i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
this.sounds.forEach(function (sound) {
|
this.sounds.forEach(function (sound) {
|
||||||
sound.update(time, delta);
|
sound.update(time, delta);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue