正如安德鲁所说,你没有什么要求。你只是暴露了你所拥有的,但没有揭露正在发生的事情。嗯,你的函数没有问题。我对AS很生疏,但我会这样写:
function getRandomFrame( frameNumbers: Array ): int {
return frameNumbers[Math.floor( Math.random() * frameNumbers.length )];
}
gotoAndPlay( getRandomFrame( [24, 62, 49, 74, 37] ) );
你得到的是帧编号而不是标签,所以我更改了它的名称。由于您正在调用gotoAndPlay,您的电影“播放头”将转到选定的帧,并将播放到时间线的末尾,默认情况下,电影将重新开始。如果需要停止动画,则需要在所需帧中设置停止。使用gotoAndStop而不是gotoAndPlay尝试您的代码。电影将转到随机帧,然后停止。如果需要获取帧标签,请创建一个字符串数组:
function getRandomLabel( labels: Array ): String {
return labels[Math.floor( Math.random() * labels.length )];
}
gotoAndPlay( getRandomLabel( ["car", "dog", "music"] ) );
你似乎是一个Flash新手,所以你需要更多地研究你正在处理的工具;)Flash CS5中的ActionScript默认版本是第三个。