我尝试从库导入数组,然后将对象从数组放到舞台上。 我是闪光灯的新人,我会为我的女朋友做一个装扮游戏。
import flash.utils.getDefinitionByName;
import flash.display.Bitmap;
import flash.display.MovieClip;
var polc1Ar:Array = new Array();
inditasFu();
function inditasFu(){
behivas();
rakdkiFu();
}
function behivas(){
for (var i=1; i!=3; i++) {
classRef:getDefinitionByName("Symbol" + i.toString()) = new getDefinitionByName("Symbol" + i.toString() as MovieClip)();
var classRef:Symbol1 = new Symbol1();
polc1Ar.push(classRef)
addChild(polc1Ar[0]);
}
}
function rakdkiFu (){
for (var i=0; i!=polc1Ar.length; i++) {
var celTargy:Bitmap = polc1Ar[i] as Bitmap ;
this.addChild(celTargy);
celTargy.x = 25*i;
celTargy.y = 45*i;
}
}
答案 0 :(得分:0)
您的代码中存在大量语法错误。将所有代码更改为:
import flash.utils.getDefinitionByName;
import flash.display.Bitmap;
import flash.display.MovieClip;
import flash.display.BitmapData;
var polc1Ar:Array = new Array();
inditasFu();
function inditasFu(){
behivas();
rakdkiFu();
}
function behivas(){
for (var i=1; i!=3; i++) {
var ClassRef:Class = getDefinitionByName("Symbol" + i.toString()) as Class;
var classRef = new ClassRef();
polc1Ar.push(classRef)
addChild(polc1Ar[0]);
}
}
function rakdkiFu (){
for (var i=0; i!=polc1Ar.length; i++) {
var bmpData = new BitmapData(polc1Ar[i].width, polc1Ar[i].height);
bmpData.draw(polc1Ar[i]);
var celTargy:Bitmap = new Bitmap(bmpData);
this.addChild(celTargy);
celTargy.x = 25*i;
celTargy.y = 45*i;
}
}
[1] 您无法将“MovieClip作为位图”执行,因此我使用了Bitmap.draw()
,因为MovieClip 是IBitmapDrawable
。
[2] 您必须使用getDefinitionByName
创建一个类,您不能直接创建MovieClip,除非您创建非常混乱的代码。基本上,语法错误。
[3] 请注意,只有当您有三个图书馆剪辑且导出的班级名称名为 Symbol1,Symbol2时,此功能才有效和Symbol3。