2016-04-16 8 views
1

Ich versuche, vom Spielen um den Song zu stoppen, wenn der Benutzer auf eine Schaltfläche klickt, dies ist mein Code:Wie vom Spielen in Aktion den Song zu stoppen Script 3

var mySound:MainSound = new MainSound(); 
var cmyChannel :SoundChannel; 

animation_play.addEventListener(MouseEvent.CLICK, playSound); 

function playSound(event:Event) { 
mySound.play(); 
} 

animation_stop.addEventListener(MouseEvent.CLICK, stopSound); 
function stopSound(event:Event) { 
mySound.stop(); 
} 


animation_play.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame_3); 

function fl_ClickToGoToAndPlayFromFrame_3(event:MouseEvent):void 
{ 
    gotoAndPlay(2); 
} 

, wenn ich auf dem Objekt animation_play klicken Sie funktioniert einwandfrei, es funktioniert so, wie es sein sollte, indem Sie den Sound abspielen und die Animation aus dem angegebenen Frame starten. aber wenn ich auf animation_stop Objekt klicke, bekomme ich einen Fehler

TypeError: Error #1006: stop is not a function. 

Wer weiß, wie man das beheben kann?

Antwort

2

Sie müssen mySound.play() auf das Objekt cmyChannel setzen. Dann rufen Sie stop auf cmyChannel. Hier ist der Code:

var mySound:MainSound = new MainSound(); 
var cmyChannel :SoundChannel; 

animation_play.addEventListener(MouseEvent.CLICK, playSound); 

function playSound(event:Event) { 
cmyChannel = mySound.play(); 
} 

animation_stop.addEventListener(MouseEvent.CLICK, stopSound); 
function stopSound(event:Event) { 
cmyChannel.stop(); 
} 


animation_play.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame_3); 

function fl_ClickToGoToAndPlayFromFrame_3(event:MouseEvent):void 
{ 
    gotoAndPlay(2); 
} 
2

Ihren Sound zu stoppen, haben Sie eine SoundChannel Objekt wie dies beispielsweise verwenden:

function playSound(event:Event): void 
{ 
    cmyChannel = mySound.play(); 
} 

und

function stopSound(event:Event): void 
{ 
    cmyChannel.stop(); 
} 

Hoffnung, die helfen können.