actionscript-3 - 需要帮助使按钮在Adobe Flash中播放多种声音

标签 actionscript-3 flash button audio

我在尝试使我的Adobe Flash项目的代码正常工作时遇到问题。基本上,我试图让按钮在每次单击时都能播放随机声音,这是可行的,但是我无法在同一帧上为不同的按钮使用相同的代码,这就是为什么会出现此错误的原因。

这是我的代码:

    import flash.utils.Dictionary;
import flash.events.MouseEvent;

var request:URLRequest = new URLRequest("19103_b.mp3");
var ci_diese:Sound = new Sound();
ci_diese.load(request);

var request_two:URLRequest = new URLRequest("19203_b.mp3");
var d_diese:Sound = new Sound();
d_diese.load(request_two);

var request_three:URLRequest = new URLRequest("19204_b.mp3");
var f_diese:Sound = new Sound();
f_diese.load(request_three);

var play_liste = 0;

var dictSounds = new Dictionary ();

dictSounds[1] = d_diese;
dictSounds[2] = ci_diese;
dictSounds[3] = f_diese;

fireweapon_H3AR.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownHandler);

function mouseDownHandler (event:MouseEvent) : void {
    play_liste = Math.ceil(Math.random () *3); 
    dictSounds[play_liste].play ();

ready_H3AR.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownHandler);

function mouseDownHandler (event:MouseEvent) : void {
    play_liste = Math.ceil(Math.random () *3); 
    dictSounds[play_liste].play ();}
}
import flash.utils.Dictionary;
import flash.events.MouseEvent;

var request:URLRequest = new URLRequest("Readya.mp3");
var ci_diese2:Sound = new Sound();
ci_diese2.load(request);

var request_two:URLRequest = new URLRequest("Readyb.mp3");
var d_diese2:Sound = new Sound();
d_diese2.load(request_two);

var request_three:URLRequest = new URLRequest("Readyc.mp3");
var f_diese2:Sound = new Sound();
f_diese2.load(request_three);

var play_liste = 0;

var dictSounds = new Dictionary ();

dictSounds[1] = d_diese2;
dictSounds[2] = ci_diese2;
dictSounds[3] = f_diese2;

ready_H3AR.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownHandler);

function mouseDownHandler (event:MouseEvent) : void {
    play_liste = Math.ceil(Math.random () *3); 
    dictSounds[play_liste].play ();}
}

有什么办法可以重写它以容纳多个按钮?前一半工作到它在“导入闪存”重复一次。我一直在寻找答案,所以请帮忙!

最佳答案

您不应将两个函数或两个变量命名为同一函数,因为最后一个函数将覆盖第一个函数。

例如

var request:URLRequest = new URLRequest("19103_b.mp3");

然后被覆盖
var request:URLRequest = new URLRequest("Readya.mp3");

按钮ready_H3AR和函数侦听器mouseDownHandler也会发生相同的情况

顺便说一下,您不需要两次导入类:
import flash.utils.Dictionary;
import flash.events.MouseEvent;

关于actionscript-3 - 需要帮助使按钮在Adobe Flash中播放多种声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31236204/

相关文章:

actionscript-3 - 单击按钮后开始下载的 AS3 功能!

c++ - 在给定按钮窗口句柄的情况下,如何模拟按钮单击?

ios - 适用于 iOS8 的 Adob​​e Air : Geolocation not working

php - as3、MySQL PHP 连接

actionscript-3 - AS3中的void和void有什么区别?

ios - app.xml 一致被覆盖

macos - Mac 上 WebView 中的 Flash 插件与 Safari 中的 Flash 插件不同吗?它有定期的 Flash 垃圾收集吗?

actionscript-3 - AS3如何仅在x轴上开始拖动?

javascript - JavaScript 能否成为 Flash 和 Silverlight 的可行替代品?

java - 如何让一个类(class)对另一个类(class)按下的按钮使用react?