싶은 것은 당신이 인스턴스를 만들 수 있도록의 getDefinitionByName를 사용을 통해 클래스 정의를 얻을 수있다, 다음 코드는 당신이 그렇게 할 방법 :
:
// you'll need to add this import to use getDefinitionByName
import flash.utils.getDefinitionByName;
function AddImage(image_name:String):void {
if(image_count == 4) return;
// this next line gets the class definition of the image_name
var imageClass:Class = getDefinitionByName(image_name) as Class;
// this is how you create an instance of that class
var defaultImage:BitmapData = new imageClass(100, 100);
var tmpImage:Bitmap = new Bitmap(defaultImage);
tmpImage.x = 124.5 + (108.5 * image_count);
tmpImage.y = 1511.9;
addChild(tmpImage);
image_count++;
}
변경 가져 오기입니다
import flash.utils.getDefinitionByName;
이들 두 라인 :
var imageClass:Class = getDefinitionByName(image_name) as Class;
var defaultImage:BitmapData = new imageClass(100, 100);
ReferenceError: Error #1065: Variable <YourImageClassName> is not defined.
: 23,414,주 --- 은 또한 플렉스로 컴파일하는 경우 다음과 같은 오류가 플래시 IDE, 반대로 어떤 경우에는 당신이 문제로 실행할 수 있음을 언급하고 싶었다 그 상황을 처리하는 방법은 컴파일러에 대한 클래스 변수 선언에 변수를 선언하여 해당 기호를 인식하는 것입니다.
은 그래서 두 개의 이미지 클래스 이름은 같은 것을 할 것이다 당신의 클래스 선언에서, IMAGE_1 및 IMAGE_2 인 경우 : 당신이 이미지의 톤이있는 경우
private var forCompiler1:image_1;
private var forCompiler2:image_2;
, 즉 통증이있을 수 있습니다,하지만 그것은이다 유일한 방법은 그들을 인식하는 컴파일러를 찾았습니다. :/haha