Хорошо, так что вам нужен предварительный загрузчик (я предполагаю, что вы используете ActionScript 3.0). Это будет небольшой SWF-файл, который загружает ваш основной файл Flash. Самые маленькие реализации (например, следующие) составляют около 1-2 КБ
Итак, в вашей Flash IDE (Flash CS3, CS4, CS5) вы хотите создать новый fla, назовем его preloader.fla. В этом файле вы захотите иметь два слоя. Назовите первый слой как действия, а второй слой как контент.
В вашем слое контента просто поместите динамическое текстовое поле на сцену. Назовите его TXT / процент или что вы чувствуете ... Я использую TXT.
В вашем слое действий вы хотите выбрать первый ключевой кадр и открыть панель действий (код)
Затем вы хотите использовать класс загрузчика для загрузки внешнего файла (вашего основного флэш-фильма) следующим образом
var ldr:Loader = new Loader()
;
Для обработки анимации и так далее вы захотите прослушать ProgressEvent
. Вы будете делать это, слушая информацию о загрузке в contentLoaderInfo
следующим образом
ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, update);
Таким образом, когда данные вашего основного файла загружаются, это событие вызывается. «update» будет функцией, которую мы будем вызывать для обработки прогресса в данных.
Следующее событие для прослушивания будет после завершения загрузки основного файла, и мы хотим его отобразить.
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, display);
Затем у нас есть функция display
, которая обрабатывает завершение и отображает основной файл.
Последнее, что нужно сделать, это загрузить контент, например, main.swf.
ldr.load(new URLRequest("main.swf"));
Здесь у нас будет текстовое поле, показывающее загрузку байтов от 0 до 100%;
function update(e:ProgressEvent):void {
var percent:Number = e.bytesLoaded / e.bytesTotal;
txt.text = Math.ceil(percent*100).toString();
}
Ниже приведена функция, которая удаляет текстовое поле (txt) и добавляет main.swf в список отображения.
function display(e:Event):void {
removeChildAt(0);
txt=null;
addChild(ldr);
}
Теперь вы можете изменить текст в слое контента на что-то другое, если вы хотите, например, как вы сказали, вращающийся круг ... зависит от того, как вы хотите, чтобы он отображался, поэтому я разместил несколько ссылок ниже, по которым вы можете следовать. Приветствия.
Пример 1: [ Демо ] [ Исходный код и файлы ]
Пример 2: [ Demo ] [ Исходный код и файлы ]