2012-08-12 46 views
0

好了,为了削减追逐,我相信这个功能正在引起我的问​​题。在这里用Action Script 3有点帮助

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摩尔)会随机出现随机化。 目前正在敲击一个痣Flash游戏

当前场景:2开出3

不知怎的,当我测试播放它返回到场景1帧1

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

+0

到Java的连接是什么?这看起来更像是Javascript。 – 2012-08-12 03:28:07

+0

@AndrewThompson:这是ActionScript 3代码。 – davidbuzatto 2012-08-12 03:48:03

+0

@david谢谢澄清。我希望新手们会更加小心,理解他们正在使用的工具。难怪他们不能回答自己的问题。不是这个人甚至问了一个问题。 – 2012-08-12 03:50:33

回答

1

正如Andrew所说,你没有什么也没问。你只是揭露你有什么,但没有发生什么。那么,你的功能没有问题。我很生锈的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新手,所以你需要学习更多,你正在处理的工具;)在ActionScript默认版本Flash CS5是第三个。

+0

我真的没有问过任何问题。是的,我是Flash的新手,刚刚在2天前开始。我们其实是一个团体,我没有制定这个功能。无论如何,感谢您的推荐它的工作。我只是用'数字'替换'int',因为显然我们使用AS 2. – user1587341 2012-08-12 04:54:12

+0

好吧,没问题!祝你工作顺利。再见! – davidbuzatto 2012-08-12 05:01:03