varWmax:int=3;//一排3张图片varAllArr:Array=newArray(1,2,3,4,5,6,7,8,9,0);//存放所有随机数组*可以用加载获取外部列表varBmpArr:Array=newArray();//加载的图片,请加载后添加到此数组,与序号对应varMarr:Array=newArray(2,5,7);//存放需要内定显示的序号,可以用加载,如果内定的比较多可以用二维数组InitArr();//初始化数组ShowMC(1,getArr(1));//显示第一轮ShowMC(2,getArr(2));//显示第二轮ShowMC(3,getArr(3));//显示第三轮stop();//--------------------下面是函数---------------------------functionShowMC(n:int,Arr:Array){//根据Arr数组依次显示第n轮的图片for(variinArr){trace(\"第\"n\"排,图片\"i\":加载序号为\"Arr\"的图片。\");//如何显示不用我说吧调用addChild(BmpArr[Arr])}}functionInitArr(){//初始化数组,剔除被内定的项目序号,如果是二维数组下面代码需要更改for(variinMarr){AllArr.splice(AllArr.indexOf(Marr),1);//在主数组中删除内定序号Marr}}functiongetArr(n:int):Array{//根据输入的序号返回随机后的数组,n为第几组varLen:int;varNum:int=Wmax-1;//提取的数量,if(Marr.lengthn){Num=Wmax;//内定的用完了....}vartemArr:Array=newArray();//要返回的数组varK:int=0;//临时变量,用于存储随机的序号位置,方便删除随机出的值for(vari:int=0;iNum;i){//循环提取随机的值Len=AllArr.lenght;//获取剩余数量if(Len){K=int(Math.random()*Len);//随机一个提取值temArr.push(AllArr[k]);//提取随机序号添加到数组AllArr.splice(K,1);//删除已经提取了的序号,避免重复}}//现在temArr中包含了0-2个值了if(NumWmax){//如果提取的数量不是最大说明使用了内定于是加入....Len=temArr.lenght;K=int(Math.random()*Len);//随机一个位置以插入我特定的值temArr.splice(K,0,Marr[n]);//删除0个并插入值}returntemArr;}加分加分呵呵
|