最新更新 sitemap 设计搜素
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
网上家居 虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 网络设计学院 > Flash教程

FLASH中产生不重复的随机数的方法

日期:10-21    来源:中国设计秀    作者:cnwebshow.com

把0到99的数排列,不重复. 5Rc中国设计秀
  适用于在做多个随机方块遮照图片时和在播放动画时随机播放音乐,但不重复.等5Rc中国设计秀
  方法一: 5Rc中国设计秀

 5Rc中国设计秀

oldtime=getTimer(); 5Rc中国设计秀
my_array=new Array(); 5Rc中国设计秀
n=100; 5Rc中国设计秀
for(var i=0;i  my_array[i]=i; 5Rc中国设计秀
} 5Rc中国设计秀
for(var i=0;i var tmp1=random(n); 5Rc中国设计秀
 var tmp2=my_array[i]; 5Rc中国设计秀
 my_array[i]=my_array[tmp1]; 5Rc中国设计秀
 my_array[tmp1]=tmp2; 5Rc中国设计秀
} 5Rc中国设计秀
trace(my_array); 5Rc中国设计秀
trace(getTimer()-oldtime);//程序运行时间 5Rc中国设计秀
//----------------------------------------------------------5Rc中国设计秀

--------------方法二-------------------------------------5Rc中国设计秀

n=getTimer(); 5Rc中国设计秀
Array.prototype.randomize = function() { 5Rc中国设计秀
this.sort(function(a, b) { return random(2)>0 ? 1 : -1;}); 5Rc中国设计秀
} 5Rc中国设计秀
var myArray = new Array(); 5Rc中国设计秀
for(var i=0;i<1000;i++){ 5Rc中国设计秀
myArray[i]=i; 5Rc中国设计秀
} 5Rc中国设计秀
myArray.randomize(); 5Rc中国设计秀
trace(myArray); 5Rc中国设计秀
trace(getTimer()-n);5Rc中国设计秀

  方法三:5Rc中国设计秀
 5Rc中国设计秀

var num_arr:Array = new Array(); 5Rc中国设计秀
var j = 0; 5Rc中国设计秀
var judge = 0; 5Rc中国设计秀
do { 5Rc中国设计秀
 var temp_num = Math.round(Math.random()*100); 5Rc中国设计秀
 for (var i = 0; i  var temp_n = num_arr[i]; 5Rc中国设计秀
  if (temp_num == temp_n) { 5Rc中国设计秀
  judge = 1; 5Rc中国设计秀
  break; 5Rc中国设计秀
  } else { 5Rc中国设计秀
  judge = 0; 5Rc中国设计秀
  } 5Rc中国设计秀
 } 5Rc中国设计秀
 if (judge == 0) { 5Rc中国设计秀
  num_arr.push(temp_num); 5Rc中国设计秀
  j++; 5Rc中国设计秀
  _root["t"+j].text = temp_num; 5Rc中国设计秀
 } 5Rc中国设计秀
} while (j<100); 5Rc中国设计秀
trace(num_arr);5Rc中国设计秀

5Rc中国设计秀
 5Rc中国设计秀

5Rc中国设计秀
        制作过程: 建两层,各放一图片,其中上层的图片定义实例名:pic_mc5Rc中国设计秀
  然后画一矩形,转化为MC,定义ID名为 box,然后在帧上写入AS:5Rc中国设计秀
 5Rc中国设计秀

creatmask(); 5Rc中国设计秀
//建立遮照 5Rc中国设计秀
newnum(); 5Rc中国设计秀
//产生随机数 5Rc中国设计秀
var i = -1; 5Rc中国设计秀
var n = 0; 5Rc中国设计秀
_root.onEnterFrame = function() { 5Rc中国设计秀
i++; 5Rc中国设计秀
if (i<300) { 5Rc中国设计秀
 eval("_root.m1_mc.box"+my_array[n]).removeMovieClip(); 5Rc中国设计秀
 //移除方块 5Rc中国设计秀
 n++; 5Rc中国设计秀
} 5Rc中国设计秀
if (i>=400 && i<700) { 5Rc中国设计秀
 m = my_array[i-400]; 5Rc中国设计秀
 _root.m1_mc.attachMovie("box", "box"+m, m+10, {_x:int(m/15)*20, _y:m%15*20}); 5Rc中国设计秀
 //加载方块 5Rc中国设计秀
} 5Rc中国设计秀
if (i>800) { 5Rc中国设计秀
 i = 0; 5Rc中国设计秀
 n = 0; 5Rc中国设计秀
} 5Rc中国设计秀
}; 5Rc中国设计秀
//------------------------------------- 5Rc中国设计秀
function creatMask() { 5Rc中国设计秀
_root.createEmptyMovieClip("m1_mc", 1); 5Rc中国设计秀
m1_mc._x = 0; 5Rc中国设计秀
mc_mc._y = 0; 5Rc中国设计秀
for (var i = 0; i<300; i++) { 5Rc中国设计秀
 _root.m1_mc.attachMovie("box", "box"+i, i+10, {_x:int(i/15)*20, _y:i%15*20}); 5Rc中国设计秀
} 5Rc中国设计秀
pic_mc.setMask(m1_mc); 5Rc中国设计秀
} 5Rc中国设计秀
function newnum() { 5Rc中国设计秀
my_array = new Array(); 5Rc中国设计秀
n = 300; 5Rc中国设计秀
for (var i = 0; i my_array[i] = i; 5Rc中国设计秀
} 5Rc中国设计秀
for (var i = 0; i var tmp1 = random(n); 5Rc中国设计秀
 var tmp2 = my_array[i]; 5Rc中国设计秀
 my_array[i] = my_array[tmp1]; 5Rc中国设计秀
 my_array[tmp1] = tmp2; 5Rc中国设计秀
} 5Rc中国设计秀
}5Rc中国设计秀

  在上面的基础上有所改进5Rc中国设计秀
5Rc中国设计秀
 5Rc中国设计秀

制作方法与上有点差别,就是在box元件中的方块转化为MC,然后编辑这个MC,在上面做点运动变形.5Rc中国设计秀
newnum(); 5Rc中国设计秀
//产生随机数 5Rc中国设计秀
_root.createEmptyMovieClip("m1_mc", 1); 5Rc中国设计秀
m1_mc._x = 0; 5Rc中国设计秀
mc_mc._y = 0; 5Rc中国设计秀
pic_mc.setMask(m1_mc); 5Rc中国设计秀
for (var i = 0; i<300; i++) { 5Rc中国设计秀
_root.m1_mc.attachMovie("box", "box"+i, i+100, {_x:int(i/15)*20, _y:i%15*20}); 5Rc中国设计秀
} 5Rc中国设计秀
var i = -1; 5Rc中国设计秀
_root.onEnterFrame = function() { 5Rc中国设计秀
i++; 5Rc中国设计秀
if (i<300) { 5Rc中国设计秀
 m = my_array[i]; 5Rc中国设计秀
 eval("_root.m1_mc.box"+my_array[m]+".p").play(); 5Rc中国设计秀
} 5Rc中国设计秀
if (i>=400 && i<700) { 5Rc中国设计秀
 m = my_array[i-400]; 5Rc中国设计秀
 eval("_root.m1_mc.box"+my_array[m]+".p").play(); 5Rc中国设计秀
} 5Rc中国设计秀
if (i>800) { 5Rc中国设计秀
 i = -1; 5Rc中国设计秀
} 5Rc中国设计秀
}; 5Rc中国设计秀
//------------------------------------- 5Rc中国设计秀
function newnum() { 5Rc中国设计秀
my_array = new Array(); 5Rc中国设计秀
n = 300; 5Rc中国设计秀
for (var i = 0; i my_array[i] = i; 5Rc中国设计秀
} 5Rc中国设计秀
for (var i = 0; i var tmp1 = random(n); 5Rc中国设计秀
 var tmp2 = my_array[i]; 5Rc中国设计秀
 my_array[i] = my_array[tmp1]; 5Rc中国设计秀
 my_array[tmp1] = tmp2; 5Rc中国设计秀
} 5Rc中国设计秀
}5Rc中国设计秀

5Rc中国设计秀

5Rc中国设计秀
 5Rc中国设计秀