當我在特定項目上推進時間線時,我目前難以從播放中移除特定的聲音。從主時間線中刪除在影片剪輯中調用的聲音
用戶在時間軸上選擇一個特定的項目,該項目將顯示特定的動畫片段,然後在MOUSE_DOWN上播放特定的聲音。
的事件監聽用於MOUSE_DOWN它存在如下:
stage.addEventListener(MouseEvent.MOUSE_DOWN, sprayWater);
stage.addEventListener(MouseEvent.MOUSE_UP, stopWater);
function sprayWater(event:MouseEvent):void
{
waterarm.gotoAndStop(2);
trace("SPRAYING WATER");
}
function stopWater(event:MouseEvent):void
{
waterarm.water.gotoAndPlay("waterE");
}
上「waterarm」的框架2是被稱爲「水」,其中包含的水的動畫和下面的代碼以啓動水聲的movieclip:
var sfxWater:sfxwater;
var waterChannel:SoundChannel;
sfxWater = new sfxwater;
waterChannel = sfxWater.play();
幀「waterE」水消失的動畫上存在和代碼sfxWater.stop();
。
當用戶在根時間軸上超出此幀時,儘管該時間線上不再存在動畫片段,但水的音效仍保留在MOUSE_DOWN上。
理想的結果將是在MOUSE_DOWN上播放單個聲音,並且僅當在主時間線上可見此動畫片段時才停止在MOUSE_UP上。如果任何人可以提供任何幫助,以防止聲音播放和刪除此事件監聽器(如果可能,通過主時間軸上的代碼),這將不勝感激。
問候, 達倫
有什麼問題: function stopWater(event:MouseEvent):void { removeEventListener(MouseEvent.MOUSE_DOWN,sprayWater); removeEventListener(MouseEvent.MOUSE_UP,stopWater); waterarm.water.gotoAndPlay(「waterE」); } – Duke 2012-07-18 06:34:41
感謝您的回覆Michael。我沒有在我原來的帖子中說過用戶在「噴水」時沒有從這個框架中移出,他們應該能夠按下按鈕多次,因爲它們在根時間軸上有碰撞檢測確定它們是否在別處進行或在MOUSE_DOWN時保持在該幀上。 – 2012-07-18 08:36:05
「閃光燈給我一個陣列,基本上說'sprayWater'不存在。」是功能還是動畫片段? 你可能想尋找到一個自定義的dispatchEvent類或添加在您的MOUSE_DOWN一條線,說是這樣的: '如果(影片剪輯){//如果影片剪輯存在 //做的東西 }' 我需要以習慣enterkey提交評論... – Duke 2012-07-18 15:07:27