![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Цитата:
Цитата:
[Frame(factoryClass = "preloader")] Так класс документа вообще в IDE там де прописываю должен быть preloader? Просто я думал что строка [Frame(factoryClass = "preloader")] как бы передает управление классу preloader, а в конце прелоадера возвращается назад. Добавлено через 41 минуту Нашел причину: во-первых, конечно же, preloader должен был быть классом документа, но без это были и другие ошибки. Постоянно вылазила ошибка Variable frameq is not defined, где frameq имя класса. Решение этой проблемы оказалось каким-то странным. Вместо такой записи: var mainClass:Class = getDefinitionByName("frameq") as Class; var mainC = new mainClass(); addChild(mainC as DisplayObject); Не могу понять вообще, почему так работает. Обычно пытаюсь всегда понимать то, что написал, но тут исключение). Если кто прошаренный, интересно было бы узнать). |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ничего странного. Эта запись, frameq, говорит компилятору что данный библиотечный класс будет использоваться, то есть фактически Вы его импортируете (умный компилятор не импортирует классы, которые не используются в коде, даже если Вы напишите руками импорт; использование через getDefinitionByName компилятором не распознается, так как там используется не класс, а только строка с его именем).
Цитата:
Цитата:
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Цитата:
А вот когда дело начало до прелоадера доходить, то компилятор все ошибки показал). И когда я говорил, что нашел причину и якобы решил проблему, то видимо я рано сделал выводы). У меня есть класс frame, и класс preloader. preloader документ-класс. Он по-идее должен выполнится первым, а в итоге его содержимое появляться только после загрузки frame. Т.е. как Вы я так понял и говорили: 'Здесь фишка лишь в том, чтобы "всё остальное" не грузилось в первый кадр'. Если ещё кому-то не надоело отвечать на мои вопросы, то надеюсь кто-то скажет, как не дать загрузить frame раньше, чем само содержимое документ-класса). frame [Frame(factoryClass = "preloader")] public class frameq extends MovieClip { var BG = new bg(); public function frameq() { addChild(BG); BG.x = 0; BG.y = 0; } public class preloader extends MovieClip { private var BTN:MovieClip = new btn(); public function preloader() { addChild(BTN); BTN.x = 300; BTN.y = 300; BTN.addEventListener(MouseEvent.CLICK, clickb); } function clickb(e:MouseEvent):void { frameq var mainClass:Class = getDefinitionByName("frameq") as Class; var mainC = new mainClass(); addChild(mainC as DisplayObject); } } |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Он вообще не компилит прелоадер, если тот не объявлен документ-классом. А должен был прочитать это в теге [Frame]. Вы точно компилируете с помощью flex_sdk? И вот это Ваше отсутствие пакетов в оформлении классов — это так и есть, или Вы для нас старательно скопировали код без объявлений пакетов?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Цитата:
В итоге всё сделал через Loader как предлагал caseyryan. Всем спасибо за помощь, я бы разобрался с тегом Frame, но пока Loader более чем устраивает). |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|