home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / animal_artist.swf / scripts / Gamefile / SoundsManager.as < prev    next >
Encoding:
Text File  |  2008-09-05  |  4.4 KB  |  158 lines

  1. package Gamefile
  2. {
  3.    import flash.media.Sound;
  4.    import flash.media.SoundChannel;
  5.    import flash.media.SoundTransform;
  6.    import flash.utils.getDefinitionByName;
  7.    
  8.    public class SoundsManager
  9.    {
  10.       
  11.       public static var enabled:Boolean;
  12.       
  13.       private static const SOUNDSLINK:Array = ["_GameMouseDown_","_GameMouseOver_","_MenuMouseDown_","_MenuMouseOver_","_WalkLoop_","_PonderosityAnimal_","_ModerateAnimal_","_SmallAnimal_","_Elephant_S_","_Squirrel_S_","_Flamingo_S_","_Panda_S_","_Chick_S_","_Cat_S_","_Hippo_S_","_Snake_S_","_SnakeMove_S_","_Whale_S_"];
  14.       
  15.       private static var currentMusic:String;
  16.       
  17.       private static const VALUEMUSIC:Number = 1;
  18.       
  19.       private static var soundsArr:Array;
  20.       
  21.       private static const VALUESOUND:Number = 1;
  22.        
  23.       
  24.       public function SoundsManager()
  25.       {
  26.          super();
  27.          init();
  28.          setEnabled(true);
  29.       }
  30.       
  31.       public static function stopMusic() : void
  32.       {
  33.          var _loc1_:int = 0;
  34.          var _loc2_:Object = null;
  35.          if(currentMusic != null)
  36.          {
  37.             _loc1_ = 0;
  38.             while(_loc1_ < soundsArr.length)
  39.             {
  40.                _loc2_ = soundsArr[_loc1_];
  41.                if(_loc2_.label == currentMusic)
  42.                {
  43.                   if(_loc2_.channel != null)
  44.                   {
  45.                      _loc2_.channel.stop();
  46.                      _loc2_.channel = null;
  47.                   }
  48.                }
  49.                _loc1_++;
  50.             }
  51.          }
  52.       }
  53.       
  54.       public static function StopSound(param1:String) : void
  55.       {
  56.          var _loc2_:int = 0;
  57.          var _loc3_:Object = null;
  58.          _loc2_ = 0;
  59.          while(_loc2_ < soundsArr.length)
  60.          {
  61.             _loc3_ = soundsArr[_loc2_];
  62.             if(_loc3_.label == param1)
  63.             {
  64.                if(_loc3_.channel != null)
  65.                {
  66.                   _loc3_.channel.stop();
  67.                   _loc3_.channel = null;
  68.                }
  69.             }
  70.             _loc2_++;
  71.          }
  72.       }
  73.       
  74.       private static function init() : void
  75.       {
  76.          var _loc1_:int = 0;
  77.          var _loc2_:String = null;
  78.          var _loc3_:Sound = null;
  79.          var _loc4_:Object = null;
  80.          soundsArr = new Array();
  81.          _loc1_ = 0;
  82.          while(_loc1_ < SOUNDSLINK.length)
  83.          {
  84.             _loc2_ = String(SOUNDSLINK[_loc1_]);
  85.             _loc3_ = getSound(_loc2_);
  86.             (_loc4_ = new Object()).label = _loc2_;
  87.             _loc4_.sound = _loc3_;
  88.             soundsArr.push(_loc4_);
  89.             _loc1_++;
  90.          }
  91.       }
  92.       
  93.       public static function playMusic(param1:String) : void
  94.       {
  95.          var _loc2_:int = 0;
  96.          var _loc3_:Object = null;
  97.          var _loc4_:SoundChannel = null;
  98.          if(enabled)
  99.          {
  100.             _loc2_ = 0;
  101.             while(_loc2_ < soundsArr.length)
  102.             {
  103.                _loc3_ = soundsArr[_loc2_];
  104.                if(_loc3_.label == param1)
  105.                {
  106.                   currentMusic = param1;
  107.                   _loc4_ = _loc3_.sound.play(0,int.MAX_VALUE,new SoundTransform(VALUEMUSIC));
  108.                   _loc3_.channel = _loc4_;
  109.                }
  110.                _loc2_++;
  111.             }
  112.          }
  113.       }
  114.       
  115.       private static function getSound(param1:String) : Sound
  116.       {
  117.          var _loc2_:Class = null;
  118.          var _loc3_:Sound = null;
  119.          _loc2_ = getDefinitionByName(param1) as Class;
  120.          return new _loc2_();
  121.       }
  122.       
  123.       public static function playSound(param1:String) : void
  124.       {
  125.          var _loc2_:int = 0;
  126.          var _loc3_:Object = null;
  127.          var _loc4_:SoundChannel = null;
  128.          if(enabled)
  129.          {
  130.             _loc2_ = 0;
  131.             while(_loc2_ < soundsArr.length)
  132.             {
  133.                _loc3_ = soundsArr[_loc2_];
  134.                if(_loc3_.label == param1)
  135.                {
  136.                   _loc4_ = _loc3_.sound.play(0,0,new SoundTransform(VALUESOUND));
  137.                   _loc3_.channel = _loc4_;
  138.                }
  139.                _loc2_++;
  140.             }
  141.          }
  142.       }
  143.       
  144.       public static function setEnabled(param1:Boolean) : void
  145.       {
  146.          enabled = param1;
  147.          if(param1)
  148.          {
  149.             playMusic(currentMusic);
  150.          }
  151.          else
  152.          {
  153.             stopMusic();
  154.          }
  155.       }
  156.    }
  157. }
  158.