在mc中gotoAndPlay() 或 nextFrame(),遍历里面的每一帧里面的文本框,进行赋值似乎并不可行,如下代码:
this.setMovieClipText(this.tab1_2,["txt"], ["234"]);//元件tab1_2是一个多帧mc
function setMovieClipText(mc:MovieClip,textName:Array, text:Array):void
{
if(mc&& text != null)
{
mc.gotoAndStop(1);
for(var j:int = 0; j < mc.totalFrames; j++)
{
//mc.gotoAndStop(j+1);
for(var i:int = 0; i < textName.length; i++)
{
vartxt:TextField = mc.getChildByName(textName[i]) as TextField;
if(txt)
{
txt.text= text[i];
}
}
mc.nextFrame();
}
}
}
针对元件每一帧进行draw变成bitmapdata又可以成功,如下代码:
This. setBitmap(this.aaa)// 元件aaa是一个多帧mc
function setBitmap(mc:MovieClip):void
{
if (mc)
{
mc.gotoAndStop(1);
for (var j:int = 0; j < mc.totalFrames; j++)
{
//mc.gotoAndStop(j+1);
var bgBitmapData:BitmapData = new BitmapData(mc.width, mc.height, true, 0x00000000);
bgBitmapData.lock();
bgBitmapData.draw(mc,new Matrix(1,0,0,1, 0, 0));
bgBitmapData.unlock();
var bm2:Bitmap = new Bitmap(bgBitmapData);
this.addChild(bm2);
bm2.x = j * 70 + 281;
bm2.y = 245;
mc.nextFrame();
//trace(j, txt.name, txt.text);
}
}
}
求原因??
本想上传源码的,无奈不支持上传fla文件。