ActionScript 3在ROLL OUT上停止声音

时间:2011-10-19 23:03:48

标签: flash actionscript-3 actionscript flash-cs5

我试图制作一个简单的交互式flash动画,所以当你滚动一个隐形按钮时,声音从库中播放,然后当你推出声音停止时。

到目前为止我有这个

import flash.events.Event;
import flash.media.SoundChannel;

stop();

button1.addEventListener(MouseEvent.ROLL_OVER,playSound);
function playSound(event:Event) {
var mySound:elmosample = new elmosample();
var myCahnnel:SoundChannel = mySound.play();
}`

是否有办法停止使用ROLL_OUT播放声音或在新声音开始时停止当前声音?

2 个答案:

答案 0 :(得分:0)

也许在推出时写一个功能?

之类的东西

button1.addEventListener(MouseEvent.ROLL_OUT,stopSound);

并且一次只播放一首歌 也许把你的声音变量名称放在一个数组中 并且只使用一个频道? 但我不确定你是怎么播放新声音的 所以我不能给你一个明确的答案

希望这会有所帮助

答案 1 :(得分:0)

import flash.events.Event;
import flash.media.SoundChannel;

stop();

var mySound:Sound;
var myChannel:SoundChannel;

button1.addEventListener(MouseEvent.ROLL_OVER, onRollOver);
button1.addEventListener(MouseEvent.ROLL_OUT, onRollOut);   

function onRollOver(e:Event):void 
{
  //stop previous sounds
  if(myChannel)
    myChannel.stop();

  mySound = new elmosample();
  myChannel = mySound.play();
}

function onRollOut(e:Event):void
{
  myChannel.stop();
}