gpt4 book ai didi

arrays - 通过从as3中的库文件制作数组来播放声音?

转载 作者:行者123 更新时间:2023-12-03 00:52:40 25 4
gpt4 key购买 nike

我正在尝试播放库文件(而不是外部mp3文件)中的随机声音。我已经创建了一个声音对象数组,但是当我尝试从数组中播放声音时却没有播放。请帮忙?

var dgSound:Sound = new DogSound();
var lnSound:Sound = new LionSound();
var snSound:Sound = new SnakeSound();
var mySoundArray:Array = new Array("dgSound","lnSound","snSound");
mySoundArray[0].play();

当我播放特定文件时,它可以工作

最佳答案

var dgSound:Sound = new DogSound();
var lnSound:Sound = new LionSound();
var snSound:Sound = new SnakeSound();
var mySoundArray:Array = new Array(dgSound,lnSound,snSound);
mySoundArray[Math.floor(Math.random()*mySoundArray.length)].play();

这样就可以完成您想要的操作,但是为了将来引用,任何带有引号的内容(例如“事物”)都将被编译为文本以显示给用户,如果您要访问实际变量,则不要使用引号。

另外:Math.floor()只是将其中的任何十进制数字转换为其整数值的下限值。示例:Math.floor(5.1341)-> 5和Math.floor(23.9)-> 23。
然后Math.random()返回一个介于0到.999999之间的随机值...并将其乘以数组的长度就可以使其返回数组范围内的一个随机十进制值,然后数学下限会减少它向下访问元素之一。

例如:如果Math.random()返回.8562 ...,那么您将得到:
mySoundArray[Math.floor(.8562*mySoundArray.length)].play();
mySoundArray[Math.floor(.8562*3)].play();
mySoundArray[Math.floor(2.5686)].play();
mySoundArray[2].play();
snSound.play();

.8562是一个非常高的返回,因此您最终获得了数组中的最后一个值。
希望我已经解释了我给您的代码,如果还有其他问题,请回复。

关于arrays - 通过从as3中的库文件制作数组来播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19352355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com