2012-12-23 46 views
0

我的問題是AS3 - 聲通道無重複,但發揮其他渠道

在我的主舞臺我加入這個代碼,有完善的重複,它可以在這個階段罰款和循環以及

var HP1sound:Sound = new HP_sound(); 

var HP_channel:SoundChannel = new SoundChannel(); 

function playSound():void 
{ 
    HP_channel=HP1sound.play(); 
    HP_channel.addEventListener(Event.SOUND_COMPLETE, onComplete); 
} 

function onComplete(event:Event):void 

{ 
    SoundChannel(event.target).removeEventListener(event.type, onComplete); 
    playSound(); 
} 
    playSound(); 

但是,我已經將代碼添加到另一個頁面(並且更改了所有變量),並且正確的聲音正確播放了一次,但是,當它循環播放時,播放第一階段的聲音。 (如下圖所示第2頁代碼)

var Crow_sound2:Sound = new Crow_sound(); 

var Crow_channel:SoundChannel = new SoundChannel(); 

function playSound2():void 

{ 
    Crow_channel=Crow_sound2.play(); 

    Crow_channel.addEventListener(Event.SOUND_COMPLETE, onComplete); 
} 

function onComplete2(event:Event):void 
{ 
    SoundChannel(event.target).removeEventListener(event.type, onComplete); 

    playSound2(); 
} 
playSound2(); 

所以它的播放聲音playSound2它起着playSound

任何幫助,將不勝感激重複謝謝

回答

1

你忘了改onCompleteonComplete2在這些線路上:

Crow_channel.addEventListener(Event.SOUND_COMPLETE, onComplete); 
SoundChannel(event.target).removeEventListener(event.type, onComplete); 

他們應該是:

Crow_channel.addEventListener(Event.SOUND_COMPLETE, onComplete2); 
SoundChannel(event.target).removeEventListener(event.type, onComplete2); 
+0

嗨,感謝您抽出時間回答我現在就給它一下!沒有意識到onComplete是一個變量/可命名的值。 – user1924448