Actionscript 3 在电影中滚动所有按钮时播放声音
我原以为这是一件非常基本的事情,但我已经用谷歌搜索到了一个角落。我只想在每次按钮类型元素悬停时播放声音,而不管按钮的位置、根、父、名称、实例名称等 声音文件与类/链接“sroll”(声音滚动)一起位于库中,我使用以下方法播放所有其他声音:Actionscript 3 在电影中滚动所有按钮时播放声音,actionscript-3,flash,user-interface,audio,rollover,Actionscript 3,Flash,User Interface,Audio,Rollover,我原以为这是一件非常基本的事情,但我已经用谷歌搜索到了一个角落。我只想在每次按钮类型元素悬停时播放声音,而不管按钮的位置、根、父、名称、实例名称等 声音文件与类/链接“sroll”(声音滚动)一起位于库中,我使用以下方法播放所有其他声音: MovieClip(root).audio_channel_c = MovieClip(root).snd8.play(0,1); 在我看来,我正在寻找以下线索: public button.eventlistener(MouseEvent.ROLL_OVE
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工作,经过更多的搜索,我找到了一个相当粗糙的方法。侦听器在每个像素移动时拾取光标下的内容。如果光标下的像素是对象类的SimpleButton,则确定鼠标是否仍在其已输入的按钮上移动。如果是新的,输入它的痕迹 每次光标进入按钮时,结果都是一个跟踪,而不是滚动按钮时。它也适用于整个阶段中每个按钮的每个实例
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”框时,属性会给你选择应该发出什么声音的选项