【问题标题】:A little help here with Action Script 3Action Script 3 的一点帮助
【发布时间】:2012-08-12 03:24:53
【问题描述】:

好吧,简单地说,我相信这个功能是我的问题。

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 游戏

当前场景:三分之二

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

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

【问题讨论】:

  • 与 Java 有什么联系?这看起来更像 Javascript。
  • @AndrewThompson:这是 ActionScript 3 代码。
  • @david 感谢您的澄清。我希望新手能够更加注意了解他们正在使用的工具。难怪他们不能回答自己的问题。 ..不是这个人甚至问了一个问题。
  • @AndrewThompson:我同意你的观点,安德鲁!

标签: actionscript-3 actionscript flash-cs5


【解决方案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默认版本是第三个。

【讨论】:

  • 我真的很糟糕,我什么都没问。是的,我是 Flash 的新手,2 天前才开始。我们实际上是一个团体,我没有制定那个功能。无论如何,谢谢你的推荐它成功了。我刚刚将 'int' 替换为 'number' 因为显然我们使用的是 AS 2。
猜你喜欢
  • 1970-01-01
  • 2011-06-21
  • 2013-09-25
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多