用AS3中的数组替换math.random()

时间:2013-12-11 15:24:23

标签: arrays actionscript-3 flash math random

一个非常快速的问题。我正在使用一些Flash横幅广告到谷歌网络,它不允许math.random()。有没有办法用自定义数组替换它,模拟随机性,例如

  

var MyArray:Array = [3,6,4,3,6,7,4,6​​,3,3,5]。

基本上我只需要知道如何在语句中用数字替换math.random,如下所示。如果按顺序拉出数字,这不是问题。

function myFunction():void {
    myVariable = myVariableTwo + Math.random()*myVariableThree;
}

我是否需要循环遍历数组并提取数字,如果是,那么如何呢?

我仍然在AS3中摸索着,所以不要害怕像对孩子说话那样解释它。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你可以实现一个random seed algorithm来从函数调用中产生类似随机的行为而不使用Math.random,但是因为他们不喜欢你使用Math.random他们可能不喜欢你基本上模仿它行为以不同的形式出现。

替代方法是只有一个固定的结果数组,并附带一个函数,该函数返回数组的第一个元素并推回到最后重用:

package Rnd
{
    public class Rnd
    {
        private static var VALUES:Array = [ 1, 5, 4, 5, 3, 8, 3, 2, 1, 1, 6, 9 ];

        public static function getValue():uint
        {
            var val:uint = Rnd.VALUES.shift();
            Rnd.VALUES.push(val);
            return val;
        }
    }
}