[AS3] Как сделать так, чтобы мой загрузчик флеш-игр на основе плитки работал?(Flash IDE) - PullRequest
0 голосов
/ 12 января 2012

Итак, я прочитал об этом онлайн.

Поскольку я работаю с внешними кодами и активами (внешними AS-файлами, файлами png, связью библиотеки с внешними AS-файлами), я понимаю, что мне нужно убедиться, что мой код активов и ActionScript экспортирован за пределы FRAME 1, поэтому мне нужно изменить настройки ActionScript «Экспортировать классы во фрейме:» («Параметры публикации, Настройки ActionScript») на «Фрейм 2». Что я и сделал. Это сделано для того, чтобы в первом кадре ничего не загружалось в библиотеке.

Затем я добавил мувиклип владельца актива, в котором хранятся ВСЕ мои библиотечные активы. Поэтому я перетащил все свои библиотечные активы в этот новый мувиклип. Затем я поместил этот мувиклип (называемый AssetHolder) в ВТОРОЙ кадр моей основной временной шкалы. Это также необходимо для того, чтобы мои активы действительно экспортировались, и я поместил этот AssetHolder во 2-й кадр, чтобы он НЕ загружался в первый кадр.

Все это потому, что мне нужно, чтобы предварительный загрузчик был загружен и был видимым в первом кадре, прежде чем что-либо еще будет показано.

Теперь все это должно работать, но когда я тестирую, запускаю свой .swf во Flash IDE и включаю Bandwidth Profiler (чтобы посмотреть, в каком кадре загружено наибольшее количество байтов), он показывает, что 2-й кадр У DOES есть много байтов (все активы и код, которые мы экспортировали в этот фрейм), но он все равно показывает, что ПЕРВЫЙ фрейм имеет НАИБОЛЕЕ байты для загрузки. И я думаю, это потому, что я вложил png в класс, связанный с моим классом основного документа.

Так что мой класс основного документа вызывает другой класс, в который встроены изображения. И я предполагаю, что все это происходит в первом кадре, поэтому эти встроенные изображения загружаются сразу в первом кадре.

Но это создает проблему, так как я хочу, чтобы предварительный загрузчик находился в первом кадре, и если загруженные изображения загружаются в этот кадр, то предварительный загрузчик не будет отображаться, пока не будут загружены эти большие встроенные изображения. Который по существу просто покажет белый экран вместо предварительного загрузчика.

Причина, по которой я внедрил изображения, заключается в том, что я использую copyPixel для копирования плиток из tileSheet в bitmapData. По сути, я выбиваю плитки для своих дам на сцену.

Так есть ли способ, которым я НЕ могу заставить загруженные изображения загружаться в этот первый кадр? Или есть другой способ настроить мои файлы для создания этого внутреннего Preloader?

Я старался быть настолько ясным, насколько это возможно для начинающего программиста, надеюсь, что это понятно.

...