作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [问题] 请问测验题想要随机出现该怎麽做?
时间Wed Apr 2 22:54:20 2008
※ 引述《woodymonkey (小罐的吃太快)》之铭言:
: 如果不出现一样的问题:
: 将所有的问题放在主场景的不同影格,
: 然後产生一个阵列Array(20),用回圈将随机数字放入此阵列,
: 阵列每一个元素内的数字注意不可重复。
: 定义一个全域变数y,初始值为0。
: 答对时用gotoAndPlay(Array(y)),并且将y加1。
想到另外一招
如果你有20格,就先让个Array装1~20
var array:Array = new Array();
for (var i:int = 0; i < 20; i++) {
array[i] = i + 1;
} //得到 [1, 2, 3, ..., 20]
然後用random决定这个Array里面的一个数字
用过之後就把这个数字从Array里面拔掉
之後再random决定的时候就绝对不会选到这个数字
if (array.length == ) {
//没题目了,跳到结尾
}
var targetFrame:int = array[Math.floor((Math.random() * array.length))];
array = array.splice(targetFrame, 1); //拔掉用过的数字
gotoAndPlay(targetFrame);
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.136.167
1F:推 Jerrynet:Math.floor(Math.random()*(array.length-1)) ?? 04/03 00:21
2F:→ cjcat2266:hmm... random() * 20会是0~19.999999,应该没错吧(?) 04/03 00:34
3F:推 Jerrynet:我指的是20,每次都20?? 04/03 00:43
4F:→ Jerrynet:splice之後再用20不会超过index嘛? 04/03 00:49
5F:→ cjcat2266:对喔,忘记这点了XD 04/03 00:55
※ 编辑: cjcat2266 来自: 218.166.136.167 (04/03 00:56)