![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2008
Сообщений: 45
|
всем привет !, можно ли обратиться к имени класса не напрямую ?, тоесть есть класс myClass0, нужно создавать класс в зависимости от указанных условий,можноли обратиться к имени класса на подобии обращения к children ['myClass'+0], или как это вообще делается?
|
|
|||||
|
Регистрация: Dec 2008
Адрес: Новосибирск
Сообщений: 30
|
Вообще должен работать такой код:
var TestClass:Object = getDefinitionByName("MyClass") as Object; var testObj = new TestClass(); Но что еще более странно, то вот этот код работает: К сожалению в твоей ситуации это не прокатит - в параметр getQualifiedClassName(MyClass) нужно передавать сам класс. Видимо в этот момент компилятор узнает о существовании класса. Как вариант можно для всех твоих классов вызвать getQualifiedClassName(MyClass), после чего все будет работать Последний раз редактировалось ChP; 28.04.2010 в 15:25. |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
2ChP:
первый кусок кода не работает, потому что, если класс ни разу нигде не упомянут в коде, то он просто не вкомпиливается в swf даже не смотря на import'ы. Что с этим делать я, правда, так и не выяснил.
__________________
мой пустой блог Последний раз редактировалось iflamberg; 28.04.2010 в 15:45. |
|
|||||
|
ChP, он работает с пользовательскими и любыми другими классами, просто надо указывать полностью путь к классу например:
var TestClass:Class = getDefinitionByName("code.MyClass") as Class; var testObj = new TestClass(); 1uka, тебе надо делать так: MyClass0; MyClass1; MyClass2; for(var i:uint=0;i<3;i++){ var cl:Class=getDefinitionByName("MyClass"+i) as Class; var obj:cl=new cl(); } iflamberg, с этим ничего не сделаешь, это физически не возможно. Да и зачем? Я думаю на написание класса уходит значительно больше времени, чем на одно его упоминание. Поэтому беда не большая ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|