急求Flash AS3.0中把影片剪辑放入数组的源码,求大神帮看看!
求帮写一下这样效果的代码:库中有100个影片剪辑,AS链接名为:Mc001,Mc002,Mc003......Mc100有什么办法把它们放入数组中,然后通过引索号创建对应...
求帮写一下这样效果的代码:
库中有100个影片剪辑,AS链接名为:Mc001,Mc002,Mc003 ...... Mc100
有什么办法把它们放入数组中,然后通过引索号创建对应的影片剪辑呢
比如有一个按钮,按下后1~100随机取一个号,然后在屏幕中央创建一个影片剪辑
再次按下时候删除之前的影片剪辑,然后重新取随机号再创建一个新的影片剪辑 展开
库中有100个影片剪辑,AS链接名为:Mc001,Mc002,Mc003 ...... Mc100
有什么办法把它们放入数组中,然后通过引索号创建对应的影片剪辑呢
比如有一个按钮,按下后1~100随机取一个号,然后在屏幕中央创建一个影片剪辑
再次按下时候删除之前的影片剪辑,然后重新取随机号再创建一个新的影片剪辑 展开
2个回答
展开全部
根据你说的,我写了一个亲测可以。
这里其实主要是链接名字太多了,不方便放,其实可以用我下面的方法,但是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
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询