Action Script 3对此有所帮助

时间:2012-08-12 03:24:53

标签: actionscript-3 actionscript flash-cs5

为了减少追逐,我相信这个功能正在引起我的问​​题。

function getRandomLabel():String {
    var labels:Array = new Array(24,62,49,74,37);
    var index:Number = Math.floor(Math.random() * labels.length);
    return labels[index];
}
this.gotoAndPlay(getRandomLabel());

此功能用于上述5位数的随机化(24,62,49,74,37) 这样我的痣(5摩尔)就会随机出现。 目前正在进行一场重击式游戏

当前场景:3个中的2个

不知何故,当我测试播放时,它会循环回到第1帧第1帧。

还有一件事,当我试图将“游戏本身”放入场景2中时,问题就开始了,其中我的其余代码都在其中(菜单,机制等)

1 个答案:

答案 0 :(得分:1)

正如安德鲁所说,你没有任何要求。你只是揭露你所拥有的但没有发生的事情。好吧,你的功能没有问题。我对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默认版本是第三个。