2013-11-16 2 views
0

У меня есть кнопка, где она меняет значение текстового поля на 0 или 100 (наоборот). Текстовое поле вызывает функцию CheckSoundВ зависимости от текстового значения, я могу остановить определенные звуки повсеместно?

function CheckSound():void 
{ 
if(options_mc.onoff_txt.text == "100") 
{ 
tchannel = theme.play(0,9999); 
} 
else if(options_mc.onoff_txt.text == "0") 
{ 
tchannel.stop(); 
} 
} 

Звук останавливается и воспроизводится. Когда я иду на другую сцену в игре, tchannel перестает играть, и rchannel начинает играть. Это то, чего я хочу. Мой вопрос в том, как я могу остановить tchannel и rchannel, если значение равно 0. И если значение равно 100, как я могу сделать tchannel и rchannel для воспроизведения в своих правильных кадрах?

ответ

0

Вы можете зависеть от имени текущей сцены, чтобы решить, какой звук играть.

import flash.display.Scene; 

// ... 

function CheckSound():void 
{ 
    if (options_mc.onoff_txt.text == "100") 
    { 
     playCurSceneSound(); 
    } 
    else if (options_mc.onoff_txt.text == "0") 
    { 
     stopMySounds(); 
    } 
} 

function stopMySounds():void 
{ 
    tchannel.stop(); 
    rchannel.stop(); 
} 

function playCurSceneSound():void 
{ 
    var curScene:Scene = this.currentScene; 
    trace("We are in scene: "+curScene.name); 

    // use the Scene name to choose the suitable sound for this scene: 
    switch (curScene.name) 
    { 
     case "Scene 1" : 
      tchannel = theme.play(0,9999); 
      break; 

     case "Scene 2" : 
      rchannel = rheme.play(0,9999); 
      break; 

     default : 
      trace("No sound for '"+ curScene.name + "' scene! "); 
      break; 
    } 
}