flash 随机图片 求代码

在一个flash文件中,加载10张图片,如图,在第一组三个框内放置三张图片,要求其中一张为指定的图片,但位置随机,另外两张图片从剩下的九张图片中随机取得的,其它两组的要求... 在一个flash文件中,加载10张图片,如图,在第一组三个框内放置三张图片,要求其中一张为指定的图片,但位置随机,另外两张图片从剩下的九张图片中随机取得的,其它两组的要求一样。求用as3实现代码 展开
 我来答
mywebyx
2011-12-28 · TA获得超过142个赞
知道答主
回答量:168
采纳率:0%
帮助的人:166万
展开全部
一个数组保存0-9的序号
随机获取3个数,检测里面是否有2号图片,没有的话从3个数里面随机一个数被2替换,
从0-9的数组里面剔除获取到的3个数
把3个数显示出来
如果3组都要这样的话
把限制的数从0-9中提取出来做成数组(第一组要出现的图片,第二组要出现.......)
从限制后的数组随机提取2个不重复的数,并从数组中删除他们(避免下次抽出)
随机一个0-2的数用于把固定的数插入到开始 中间 后面
显示被插入后的3个图片
追问
新手求代码
追答
var Wmax:int=3;//一排3张图片
var AllArr:Array=new Array(1,2,3,4,5,6,7,8,9,0);//存放所有随机数组* 可以用加载获取外部列表
var BmpArr:Array=new Array();//加载的图片,请加载后添加到此数组,与序号对应
var Marr:Array=new Array(2,5,7);//存放需要内定显示的序号,可以用加载,如果内定的比较多可以用二维数组
InitArr();//初始化数组
ShowMC(1,getArr(1));//显示第一轮
ShowMC(2,getArr(2));//显示第二轮
ShowMC(3,getArr(3));//显示第三轮
stop();
//--------------------下面是函数---------------------------
function ShowMC(n:int,Arr:Array){
//根据Arr数组依次显示第n轮的图片
for (var i in Arr){
trace("第"+n+"排,图片"+i+":加载序号为"+Arr[i]+"的图片。");
//如何显示不用我说吧 调用addChild(BmpArr[Arr[i]])
}
}
function InitArr(){
//初始化数组,剔除被内定的项目序号,如果是二维数组下面代码需要更改
for(var i in Marr){
AllArr.splice(AllArr.indexOf(Marr[i]),1);//在主数组中删除内定序号Marr[i]
}
}
function getArr(n:int):Array{
//根据输入的序号返回随机后的数组,n为第几组
var Len:int;
var Num:int=Wmax-1;//提取的数量,
if(Marr.length<n){
Num=Wmax;//内定的用完了....
}
var temArr:Array=new Array();//要返回的数组
var K:int=0;//临时变量,用于存储随机的序号位置,方便删除随机出的值
for (var i:int=0;i<Num;i++){//循环提取随机的值
Len=AllArr.lenght;//获取剩余数量
if(Len){
K=int(Math.random() * Len);//随机一个提取值
temArr.push(AllArr[k]);//提取随机序号添加到数组
AllArr.splice( K,1);//删除已经提取了的序号,避免重复
}
}
//现在temArr中包含了0-2个值了
if( Num<Wmax){//如果提取的数量不是最大说明使用了内定于是加入....
Len=temArr.lenght;
K=int(Math.random() * Len);//随机一个位置以插入我特定的值
temArr.splice(K,0,Marr[n]);//删除0个并插入值
}
return temArr;
}

加分加分 呵呵
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式