-
Notifications
You must be signed in to change notification settings - Fork 0
/
sounds.as
57 lines (51 loc) · 1.69 KB
/
sounds.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class sounds
{
static var isLoaded:Boolean = false;
//
static var soundFolder:String = "sounds";
static var soundNames:Array = new Array();
static var soundFiles:Array = new Array();
//
static function pushSounds(whatSounds:Array){
for (var i = 0; i < whatSounds.length; i++)
soundNames.push(whatSounds[i]);
return;
}
static function guiSounds():Array{
var sName = new Array("btn");
var sCount = new Array(6, 0);
var sEndCount = new Array('.mp3');
var sos:Array = new Array();
for (var i = 0; i < sName.length; i++){
for (var j = 1; j <= sCount[i]; j++)
sos.push(sName[i] + j + sEndCount[i]);
}
return sos;
}
static function pushAllSounds(){
pushSounds(guiSounds());
}
static function loadAllSounds(){
if (isLoaded) return;
pushAllSounds();
trace("Awaits loading of " + soundNames.length + " sounds;");
for (var i = 0; i < soundNames.length; i++){
soundFiles.push(new Sound());
// ñòàâèì êàæäûé íà çàãðóçêó ñîîòâåòñòâóþùåãî àäðåñà
soundFiles[i].loadSound(soundFolder+"/"+soundNames[i],false);
soundFiles[i].name = soundNames[i].substring(0, soundNames[i].lastIndexOf('.'));
soundFiles[i].isLoaded = false;
soundFiles[i].onLoad = function(success:Boolean):Void { if (success){ this.isLoaded = true;}}
}
isLoaded = true;
}
// Âîñïðîèçâåñòè çâóê ïî èìåíè. (Çâóê âûáèðàåòñÿ èç ìàññèâà sounds)
static public function playSound(nam:String, times):Sound{
if (times == undefined)
times = 1;
for (var i=0; i<soundFiles.length; i++)
if (soundFiles[i].name == nam){ soundFiles[i].start(0, times); return soundFiles[i]; } //âîñïðîèçâåñòè çâóê ñîâïàäàþùèé ïî èìåíè
trace("No sound '"+nam+"' in library!");
return null;
}
}