Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #27, ФЕВРАЛЬ 2003 г.

FLASH-PRELOADER - до полного загруза...

ilich (ilich@atrus.ru)

Спецвыпуск Xakep, номер #027, стр. 027-038-5


TF1=bred;

stop ();

Теперь выходи в редактирование основной сцены и аккуратно выноси туда мувик "C - LoaderText". Дави на него правой кнопкой мыши и в меню выбирай пункт "Actions". Пиши:

onClipEvent (load) {

gotoAndStop (10);

}

Событие "load" есть отражение конца загрузки переменных. Короче говоря, это был ключевой момент нашего прелоадера - скрипт, отслеживающий момент полной загрузки переменных. И как только к нам приходит тот самый момент, мы активно начинаем его размазывать по... тьфу!.. в этот момент мы и переходим к десятому кадру, где переменные и реализуются. Элементарно.

Дам тебе путь для личностного роста. Ты уже достаточно большой, чтобы узнать, что фишкой "loadVariables ()" не только грузятся замороченные бредни из текстовиков, но еще и осуществляется взаимодействие (т.е. передача и прием переменных) с некоторыми весьма полезными в нашем деле страничками (например, со сценариями CGI, ASP и др.). При этом внутренности прелоадера на эти деяния практически не отличаются от рассказанного мной способа слежки за загрузкой переменных из TXT.

Конец по кличке XML

XML... Знающие перцы меня поймут. Они-то знают наверняка, что если твоя пага общается не только с самой собой, а ты настолько крутой флешер, что аж волны на ногтях кругами пошли, то будешь юзать XML во Flash'e до полного посинения. Ну что ж, кое-чем помогу. Как я говорил выше, при отсутствии красоты количество ожидающих обратно пропорционально времени ожидания. Так что на загрузку XML мы тоже налепим старый добрый прелоадер. Принципы его построения я тебе говорить сейчас не буду, ибо уже рассказал на предыдущем примере. Расскажу технические детали.

Создай новый мувик "C - LoaderXML". Дабы не особо нагружать руки в целях создания очередного примера прелоадера, скопируй в него все кадры из "C - LoaderText". Так нам останется изменить всего ничего. Лезь в первый кадр и до операции "stop()" вставляй:

load_xml = new XML ();

load_xml.onLoad = function () {

gotoAndStop (10)

};

Первая строка творит новый объект XML (само собой, если он уже сделан ранее, эту строку в моем скрипте следует убить самой первой) "load_xml". У этого чудо-объекта есть прекрасные фишки, такие как "onLoad" и "loaded". Обе могут быть успешно использованы в прелоадерах для XML. Свойство объекта "loaded" до и во время загрузки равно "false" (т.е. "дело дрянь"), а после того как последний нужный бит прилетел к тебе, изменяется на "true" (т.е. "танцуют все!"), что в процессе слежки за загрузкой бывает весьма полезно :). Мы же используем аппарат "onLoad" - метод, действующий, в принципе, как обработчик событий, работающий лишь в одной ситуации - при окончании загрузки данных. Этот вариант мне нравится гораздо больше потому, что не надо в каком-то там цикле проверять значение какого-то там свойства. Написал функцию один раз - и прога сама все сделает. Ладушки, разобрались. В скриптах для кнопки меняй "loadVariables("bred.txt")" на "load_xml.load ("loads.xml");". Сечешь? Маладес, правильно! Эта хрень начинает грузить нашу XML-ку, которая называется "loads.xml".

Назад на стр. 027-038-4  Содержание  Вперед на стр. 027-038-6