在电影中所有按钮的翻转时播放声音



我认为这是非常基本的事情,但我已经将自己搜索到了一个角落。我只是希望每次悬停按钮类型元素时都可以播放声音,而不管按钮的位置,生根,父,名称,实例名称等,

声音文件在库中,带有类/链接" sroll"(声音翻转),我使用以下方法播放所有其他声音:

MovieClip(root).audio_channel_c = MovieClip(root).snd8.play(0,1);

在我看来,我正在寻找以下内容:

public button.eventlistener(MouseEvent.ROLL_OVER, function(){
    MovieClip(root).audio_channel_c = MovieClip(root).snd10.play(0,1);
});

我在AS3

中工作

更多搜索后,我找到了一种相当粗略的方法来做到这一点。听众在每个像素运动中拾取光标下方的内容。如果光标下的像素是对象类的简单按钮,它将确定鼠标是否仍在已经输入的按钮上移动。如果是新的输入,则跟踪。

结果是,每次光标输入按钮时,都不是一个跟踪,但是当您滚动按钮时,却不是跟踪。它还可以在整个阶段的每个按钮的每个实例上都起作用。

import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.utils.getQualifiedClassName;
function getClass(obj:Object):Class {
    return Class(getDefinitionByName(getQualifiedClassName(obj)));
}
var last_button_to_mouse = "";
stage.addEventListener(MouseEvent.MOUSE_MOVE, handle_custom_event, true);
function handle_custom_event(e:Event):void
{
    if(getQualifiedClassName(e.target)!="flash.display::SimpleButton"){
        last_button_to_mouse = ""
    }
    if(getQualifiedClassName(e.target)=="flash.display::SimpleButton" && (e.target.name != last_button_to_mouse)){
        last_button_to_mouse = e.target.name;
        trace("Place your script here for when the mouse enters any button on the stage");
    }
}

另一种选择,因为我是一个完整的白痴,不敢相信我在网上没有明确的答案,是否所有按钮都是一个核心按钮的实例(就像我的一样)当您单击" Over"框架时,属性为您提供了应该发出声音的选项..

最新更新