2013-02-16 6 views
0

Возможно ли в AS3 создать «API» для добавления мувиклипов/растровых изображений? Я попытался сделать это:AS3 Добавить функцию movieclip trough

public function addImage(name:String, x:int, y:int, type:String = "MovieClip", path:String = null) { 
    var mc:MovieClip; 

    if (type == "MovieClip") { 
     var $name = "as_" + name + "()" 
     mc = new $name; 
     trace(mc); 
    } 
    else if (type == "Bitmap") { 

    } 
} 

Но это ошибки с:

TypeError: Error #1007: Instantiation attempted on a non constructor 

Есть правильный способ сделать это? Или невозможно добавить мувиклипы на сцену таким образом?

ответ

3

$name является примером String. Что вам нужно для создания экземпляра объекта, это ссылка на Class, которую вы можете получить, передав имя класса flash.utils.getDefinitionByName.

Попробуйте это:

var className:String = "as_" + name; 
var MyClass:Class = getDefinitionByName(className) as Class; 
mc = new MyClass(); 
+0

Спасибо! Это сработало отлично! И я делаю то же самое для добавления растрового изображения, которое я предполагаю? – Snakybo

+0

Да, метод getDefinitionByName возвращает ссылку класса по его имени независимо от того, какой тип он есть. –

+0

Получил работу, спасибо! – Snakybo

Смежные вопросы