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

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

ilich (ilich@atrus.ru)

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


Иногда на Flash страницах создается динамическое текстовое поле для обильной информации, которая имеет тенденцию к изменению в зависимости от действий пользователя. Вся эта обильная лажа будет задаваться через ActionScript. Сам не дурак, что при изменении таких текстов (т.е., например, при обновлении сайтца), если весь этот нехилый объем байтов будет у тебя прописан в скриптах кадров, мувиков и кнопок, геморрой переправки будет размером с Аляску. Ты же этого не хочешь.

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

Переходим от теории к практике. Допустим, нам во флешку вдруг приспичило грузануть некий набор переменных, весящий где-нибудь кило так сто. И не смейся мне тут! Помни, что сайты разные важны, сайты разные нужны. Где-то много текста и мало дизайна, где-то мало текста и много дизайна... а где-то много текста и много дури. Если ты все еще смеешься, то третий вариант как раз для тебя! В любом случае, сделай-ка эти сто кило переменных (ну или одну текстовую переменную) в "loads.txt", используя правила:

1) В текстовике должны быть перечислены присвоения ряду переменных их значений.

2) Присвоение значения каким-либо переменным должны отделяться символом "&".

3) Значение текстовой переменной должно быть в двойных кавычках.

Например, у меня это одна большая текстовая переменная "bred" в таком же интеллектуальном текстовике "bred.txt".

В нашей тренировочной флешке сделай новый клип "C - LoaderText" и тащи в его первый кадр на второй слой кнопочку "B - Starter". В слой для ActionScript (верхний) в первый кадр пиши "stop()", а для кнопки:

on (press) {

loadVariables ("bred.txt");

gotoAndPlay (2);

}

Сие значит, что действо, остановившись сперва на первом кадре, резво двинет ко второму кадру лишь только при нажатии на мегакнопку. Попутно кнопка запустит загрузку переменных из файла "bred.txt" в текущий мувик.

Начиная со второго кадра, надо забацать какую-нибудь бестолковую незамысловатую анимацию, в цикле говорящую о том, что загрузка все еще продолжается. Сделаем ее со второго по девятый кадр. Сейчас не надо строить из себя великого аниматора, сейчас просто надо написать слово "Loading...", плавно меняющее свой цвет с #000000 на #444444 и обратно, а в девятом кадре поставить ссылку на второй ("gotoAndPlay(2)"). В десятом кадре делай большое динамическое (см. панель "Параметры текста") текстовое поле. Дай ему имя "TF1" и расслабься. Осталось чуть-чуть. В скриптах для десятого кадра пиши:

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