Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не могу создать класс через getDefinition (http://www.flasher.ru/forum/showthread.php?t=124682)

maklaus 06.05.2009 08:58

Не могу создать класс через getDefinition
 
Делаю игру с несколькими уровнями.

Из файла Gama.as, который находится в корневом каталоге пытаюсь создать уровень (классы Level_1.as, Level_2.as,... , Level_n.as), которые находятся в папке Levels (package Levels) с помощью следующего кода:

Код AS3:

var levelClass:Class = loaderInfo.applicationDomain.getDefinition("Level_"+m_currId.toString()) as Class;
m_currLevel = new levelClass();

При выполнении кода выдается ошибка (если m_currId равно 1)

ReferenceError: Error #1065: Переменная Level_1 не определена.

Почему так происходит и как это исправить?
В документации написано, что applicationDomain - содержит "все определения ActionScript 3.0", но почему тогда они недоступны?

Спасибо, заранее!

etc 06.05.2009 09:25

Значит эти классы не были вкомпилированы в проект, т. к. нигде не использовались.

fljot 06.05.2009 11:28

а разве надо не полный "путь" до класса писать?
"levels::Level_"+m_currId.toString()

litebox 06.05.2009 11:56

Полный путь точно нужно писать, и линкейджи проверить на всякий случай тоже:
Код AS3:

"Levels.Level_"+m_currId.toString()


†‡Paladin‡† 06.05.2009 12:13

Цитата:

Сообщение от fljot (Сообщение 817927)
а разве надо не полный "путь" до класса писать?
"levels::Level_"+m_currId.toString()

а нэймспейсы тут причем?

BlooDHounD 06.05.2009 12:33

†‡Paladin‡†, имя пакета и есть namespace. просто у него есть второй вид записи через точку.

maklaus 12.05.2009 18:38

Цитата:

Сообщение от litebox (Сообщение 817934)
Полный путь точно нужно писать, и линкейджи проверить на всякий случай тоже:
Код AS3:

"Levels.Level_"+m_currId.toString()


Заработало!

Спасибо ВСЕМ за советы!


Часовой пояс GMT +4, время: 22:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.