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 之间的随机值...并将其乘以array 使它返回一个在数组范围内的随机十进制值,然后 math floor 将其削减以访问其中一个元素。
例如:如果 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 是一个相当高的回报,所以你最终得到了数组中的最后一个值。我希望我已经解释了我给你的代码,如果你有任何进一步的问题,请回复。