Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.04.2012, 16:10
Mindman вне форума Посмотреть профиль Отправить личное сообщение для Mindman Найти все сообщения от Mindman
  № 1  
Ответить с цитированием
Mindman

Регистрация: Mar 2012
Сообщений: 4
По умолчанию Проблема с getDefinition

Поиск ничего конкретного не дал, поэтому спрошу здесь. В общем, имеется класс LevelBase и его подкласс Level1. В одном из основных классов я пытаюсь получить определение таким образом:

Код AS3:
public function changeLevel(id:int):void
{
	if (id > CommonDefinitions.TOTAL_LEVELS || id <= 0)
	{
		trace("Game::changeLevel() - Level doesnt exist");
		return;
	}else {
	var levelDef:Class = stage.loaderInfo.applicationDomain.getDefinition("src.game.levels.Level" + id) as Class;
	}
}
Вся соль в том, что при выполнении Флеш ругается благим матом: "ReferenceError: Error #1065: Переменная Level1 не определена." При этом путь к файлу класса указан верно (проверял и перепечатывал несколько раз, опечаток, в т.ч. букв на русском, нету), а определение класса LevelBase - src.game.levels.LevelBase Флеш находит сразу. Замена строки "src.game.levels.Level" + id на "src.game.levels.Level1" ничего не дает.
Помнится, когда-то давно уже сталкивался с подобной проблемой, да вот никак не вспомню каким образом ее решил. Это очередной внеплановый глюк Флеша или что-то другое?

Старый 26.04.2012, 16:51
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Этот класс просто не попадает в конечную флешку. Его нужно где-то упомянуть. Например просто прописав "Level1;" в любом месте программы.
__________________
тут я

Старый 26.04.2012, 19:27
Mindman вне форума Посмотреть профиль Отправить личное сообщение для Mindman Найти все сообщения от Mindman
  № 3  
Ответить с цитированием
Mindman

Регистрация: Mar 2012
Сообщений: 4
Точно, спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
applicationDomain , AS3 , getdefinition

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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