麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

Flash遮照實例:產生不重復的隨機數的方法(三種)

2020-07-17 13:07:38
字體:
來源:轉載
供稿:網友

這篇教程是向大家介紹產生不重復的隨機數的三種方法,通過一個Flash遮照實例來講述,可以讓風0到99的數排列,并不重復。這三種方法適用于在做多個隨機方塊遮照圖片時和在播放動畫時隨機播放音樂,一起來看看吧!

方法一: 


復制代碼
代碼如下:
oldtime=getTimer();
my_array=new Array();
n=100;
for(var i=0;i  my_array[i]=i;
}
for(var i=0;i var tmp1=random(n);
 var tmp2=my_array[i];
 my_array[i]=my_array[tmp1];
 my_array[tmp1]=tmp2;
}
trace(my_array); 
trace(getTimer()-oldtime);//程序運行時間
//----------------------------------------------------------

方法二


復制代碼
代碼如下:
n=getTimer();
Array.prototype.randomize = function() {
this.sort(function(a, b) { return random(2)>0 ? 1 : -1;});
}
var myArray = new Array();
for(var i=0;i<1000;i++){
myArray[i]=i; 
}
myArray.randomize();
trace(myArray); 
trace(getTimer()-n);

方法三:


復制代碼
代碼如下:
var num_arr:Array = new Array(); 
var j = 0; 
var judge = 0; 
do { 
 var temp_num = Math.round(Math.random()*100); 
 for (var i = 0; i  var temp_n = num_arr[i]; 
  if (temp_num == temp_n) { 
  judge = 1; 
  break; 
  } else { 
  judge = 0; 
  } 
 } 
 if (judge == 0) { 
  num_arr.push(temp_num); 
  j++; 
  _root["t"+j].text = temp_num; 
 } 
} while (j<100); 
trace(num_arr);

制作過程: 建兩層,各放一圖片,其中上層的圖片定義實例名:pic_mc

然后畫一矩形,轉化為MC,定義ID名為 box,然后在幀上寫入AS:


復制代碼
代碼如下:
creatmask();
//建立遮照
newnum();
//產生隨機數
var i = -1;
var n = 0;
_root.onEnterFrame = function() {
i++;
if (i<300) {
 eval("_root.m1_mc.box"+my_array[n]).removeMovieClip();
 //移除方塊
 n++;
}
if (i>=400 && i<700) {
 m = my_array[i-400];
 _root.m1_mc.attachMovie("box", "box"+m, m+10, {_x:int(m/15)*20, _y:m%15*20});
 //加載方塊
}
if (i>800) {
 i = 0;
 n = 0;
}
};
//-------------------------------------
function creatMask() {
_root.createEmptyMovieClip("m1_mc", 1);
m1_mc._x = 0;
mc_mc._y = 0;
for (var i = 0; i<300; i++) {
 _root.m1_mc.attachMovie("box", "box"+i, i+10, {_x:int(i/15)*20, _y:i%15*20});
}
pic_mc.setMask(m1_mc);
}
function newnum() {
my_array = new Array();
n = 300;
for (var i = 0; i my_array[i] = i;
}
for (var i = 0; i var tmp1 = random(n);
 var tmp2 = my_array[i];
 my_array[i] = my_array[tmp1];
 my_array[tmp1] = tmp2;
}
}

在上面的基礎上有所改進

制作方法與上有點差別,就是在box元件中的方塊轉化為MC,然后編輯這個MC,在上面做點運動變形.


復制代碼
代碼如下:
newnum();
//產生隨機數
_root.createEmptyMovieClip("m1_mc", 1);
m1_mc._x = 0;
mc_mc._y = 0;
pic_mc.setMask(m1_mc);
for (var i = 0; i<300; i++) {
_root.m1_mc.attachMovie("box", "box"+i, i+100, {_x:int(i/15)*20, _y:i%15*20});
}
var i = -1;
_root.onEnterFrame = function() {
i++;
if (i<300) {
 m = my_array[i];
 eval("_root.m1_mc.box"+my_array[m]+".p").play();
}
if (i>=400 && i<700) {
 m = my_array[i-400];
 eval("_root.m1_mc.box"+my_array[m]+".p").play();
}
if (i>800) {
 i = -1;
}
};
//-------------------------------------
function newnum() {
my_array = new Array();
n = 300;
for (var i = 0; i my_array[i] = i;
}
for (var i = 0; i var tmp1 = random(n);
 var tmp2 = my_array[i];
 my_array[i] = my_array[tmp1];
 my_array[tmp1] = tmp2;
}
}

教程結束,以上就是產生不重復的隨機數的三種方法介紹,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美日韩免费看 | 精品国产91久久久久 | 免费观看三级毛片 | 久久新网址 | 色柚视频网站ww色 | 国产亚洲精品精 | 久久精品一区二区三区四区五区 | 精品久久久久久综合日本 | 免费黄色小网站 | 在线观看国产一区二区 | av在线免费看片 | 免费黄色在线观看网站 | 亚洲天堂成人在线观看 | 国产精品一区二区三区在线看 | 蜜桃视频在线免费播放 | 欧美日韩国产成人在线 | 高清国产在线 | 成人在线观看免费高清 | 黄色片网站在线免费观看 | 视频一区二区三区在线播放 | 国产精品成人免费一区久久羞羞 | 亚洲电影免费观看国语版 | 青青草最新网址 | 黄色大片在线免费观看 | 亚州综合| 国产精品久久久久久久久久尿 | 国内毛片视频 | 午夜视频你懂的 | 久久久av亚洲男天堂 | 黄色网址在线播放 | 99re久久最新地址获取 | 国产精品色综合 | 法国极品成人h版 | 久久网站热最新地址 | 国产精品成人av片免费看最爱 | 精品一区二区电影 | 日本精品视频一区二区三区四区 | 蜜桃视频网站在线观看 | xnxx18日本| 92看片淫黄大片欧美看国产片 | 亚洲一区二区三区日本久久九 |