0

我尝试在 android 的 flash cs5.5 中进行随机测验,所以我将此 AS2 代码转换为 AS3,但我有 1 个错误。

AS2:

stop();

benar = 0; salah = 0; total_frame = 11; array_frame = []; 
for (i=2; i<=total_frame; i++) {
    array_frame.push(i); 
}
array_frame.sort(function () {  
    return random(2) ? 1 : -1;
});
jumlah_frame = array_frame.length;

我的 AS3:

stop()

var benar=0;var salah=0; var jumlah_frame; var total_frame = 11; 
var array_frame = [];

var i:Number; for ( i=2; i<=total_frame; i++) {
    array_frame.push(i);
} 
array_frame.sort(function () {  
    return random(2) ? 1 : -1; 
});
jumlah_frame = array_frame.length;

我的错误是.. *array_frame.sort(function () { return random(2) ? 1 : -1;* 1180: 调用一个可能未定义的随机方法。

我的代码已经正确了吗?我是 AS3 的新手,请有人解释并更正此代码,或者教我另一个有效的代码,谢谢.. :)

4

2 回答 2

1

我想,你应该random(2);转换为int(Math.random()*2);

于 2013-02-26T13:40:31.673 回答
1

随机(2);是 Math.floor(Math.random() * 1);

function oldrandom(n):Number
{
    return Math.round(Math.random()*(n-1));
}
于 2013-02-26T14:01:45.787 回答