急求Flash AS3.0中把影片剪辑放入数组的源码,求大神帮看看!

求帮写一下这样效果的代码:库中有100个影片剪辑,AS链接名为:Mc001,Mc002,Mc003......Mc100有什么办法把它们放入数组中,然后通过引索号创建对应... 求帮写一下这样效果的代码:
库中有100个影片剪辑,AS链接名为:Mc001,Mc002,Mc003 ...... Mc100
有什么办法把它们放入数组中,然后通过引索号创建对应的影片剪辑呢

比如有一个按钮,按下后1~100随机取一个号,然后在屏幕中央创建一个影片剪辑
再次按下时候删除之前的影片剪辑,然后重新取随机号再创建一个新的影片剪辑
展开
 我来答
百度网友9163ed679
2014-09-29 · TA获得超过109个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:206万
展开全部
根据你说的,我写了一个亲测可以。
这里其实主要是链接名字太多了,不方便放,其实可以用我下面的方法,但是AS链接对象都必须是MC

import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
import flash.display.MovieClip;
import flash.events.MouseEvent;

var classArr:Array = [];    //所有类名称的数组(String数组)
var i:int = 0;               //循环计数器
var currentMc:MovieClip;    //当前显示的MC
var currentClassIndex:int = 0;//当前显示的MC的链接名在classArr中的索引

for(i = 1 ; i < 5 ; i ++)    //我只做了5个mc测试,你可以改为100
{
var classStr:String = i.toString();
while(classStr.length < 3)
{
classStr = "0" + classStr;
}
classArr.push("MC" + classStr);
}
//将所有链接名放入数组

btn.addEventListener(MouseEvent.CLICK, clickHandler);
//设btn为你需要点击的按钮

function clickHandler(evt:MouseEvent):void
{
if(currentMc && currentMc.stage)    //如果MC已经存在,则移除
{
removeChild(currentMc);
}
var newIndex:int;
do
{
newIndex = int(Math.random() * classArr.length);
}
while(newIndex == currentClassIndex);    //找到下一个不一样的AS链接

var ClassReference:Class = getDefinitionByName(classArr[newIndex].toString()) as Class;    //获取AS链接名对应的类!!!这里是关键
var instance:Object = new ClassReference();
currentMc = MovieClip(instance);    //重新初始化MC

addChild(currentMc);
currentClassIndex = newIndex;    //加入显示列表,更新索引
}

 

匿名用户
2014-09-29
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式