![]() |
Запустить главный класс со второго кадра
Есть в общем почти готовая игра, которая начинается с класса main. Решил сделать прелоадер, который надо было сделать ещё перед игрой, и чего-то даже не знаю, каким образом после того как прелоадер на первом кадре отработал, запустить на втором кадре класс main? Возможно это вообще делается по другому, и было бы не плохо узнать как именно).
|
не лучший мануал: http://www.8bitrocket.com/2008/04/22...-in-flash-cs3/
|
Что мешает сделать отдельный прелодер?
|
Цитата:
Сам класс main должен быть на втором кадре ведь, если он будет на первом, то он начнет сразу загружать все мувики использующиеся там, и прелоадер даже если будет в начале появится только после того, как весь main загрузится. На первом кадре проверяется общее количество загруженных байт и общее их количество, и если совпадает то переход на второй кадр, а на втором кадре код, чтобы запустить класс main и начать игру. Просто Вы наверное какой-то другой способ спрашиваете, который я не понял). Цитата:
|
Main
Код AS3:
Код AS3:
|
СлаваRa, попробовал, покопался в инете, вроде и код почти такой же как у Вас везде, всё должно работать, но почему-то класс main сам себе так дальше и загружается, будто я ничего и не менял.
main: Код AS3:
Код AS3:
|
Если бы все было также, то и работало бы как надо, какой-то странный у вас подход к оформлению кода(.
|
Цитата:
Он же по идее ждать моего клика должен. А что не так с оформлением кода?) |
Цитата:
|
Код AS3:
А Вы точно сделали preloader документ-классом? |
Документ-классом должен быть, кажись, тот, где [Frame(factoryClass="")] прописан...
|
Цитата:
Цитата:
[Frame(factoryClass = "preloader")] Так класс документа вообще в IDE там де прописываю должен быть preloader? Просто я думал что строка [Frame(factoryClass = "preloader")] как бы передает управление классу preloader, а в конце прелоадера возвращается назад. Добавлено через 41 минуту Нашел причину: во-первых, конечно же, preloader должен был быть классом документа, но без это были и другие ошибки. Постоянно вылазила ошибка Variable frameq is not defined, где frameq имя класса. Решение этой проблемы оказалось каким-то странным. Вместо такой записи: Код AS3:
Код AS3:
|
Ничего странного. Эта запись, frameq, говорит компилятору что данный библиотечный класс будет использоваться, то есть фактически Вы его импортируете (умный компилятор не импортирует классы, которые не используются в коде, даже если Вы напишите руками импорт; использование через getDefinitionByName компилятором не распознается, так как там используется не класс, а только строка с его именем).
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
А вот когда дело начало до прелоадера доходить, то компилятор все ошибки показал). И когда я говорил, что нашел причину и якобы решил проблему, то видимо я рано сделал выводы). У меня есть класс frame, и класс preloader. preloader документ-класс. Он по-идее должен выполнится первым, а в итоге его содержимое появляться только после загрузки frame. Т.е. как Вы я так понял и говорили: 'Здесь фишка лишь в том, чтобы "всё остальное" не грузилось в первый кадр'. Если ещё кому-то не надоело отвечать на мои вопросы, то надеюсь кто-то скажет, как не дать загрузить frame раньше, чем само содержимое документ-класса). frame Код AS3:
Код AS3:
|
Цитата:
Он вообще не компилит прелоадер, если тот не объявлен документ-классом. А должен был прочитать это в теге [Frame]. Вы точно компилируете с помощью flex_sdk? И вот это Ваше отсутствие пакетов в оформлении классов — это так и есть, или Вы для нас старательно скопировали код без объявлений пакетов? |
Цитата:
В итоге всё сделал через Loader как предлагал caseyryan. Всем спасибо за помощь, я бы разобрался с тегом Frame, но пока Loader более чем устраивает). |
| Часовой пояс GMT +4, время: 10:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.