Рекомендации по загрузке Flash AS3 - PullRequest
3 голосов
/ 24 ноября 2011

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

Я хочу знать, как лучше всего загружать ресурсы. Должен ли я предварительно загрузить все в начале (что создаст значительную паузу)? Лучше ли делать короткую паузу несколько раз, когда нужен новый ресурс? Или есть лучшее решение (я надеюсь, что это так)?

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

Ответы [ 3 ]

2 голосов
/ 24 ноября 2011

Это зависит от того, какое приложение это:
Если вы ожидаете, что пользователь все равно будет просматривать все ваше приложение (например, игру), вам следует предварительно загрузить ресурсы.Если ваше приложение больше похоже на медиаплеер или галерею изображений, где большинство пользователей видят только несколько ресурсов, вам следует загружать ресурсы по требованию.

Это также зависит от того, насколько велики ресурсы.Вы не должны позволять пользователям долго ждать или создавать много трафика.С другой стороны, может быть проще выполнить одну предварительную загрузку, чем загружать все крошечные ресурсы в одном запросе.Может быть, вы могли бы определить большие наборы в один шаг, чтобы избежать этого.Вы можете даже объединить оба метода: предварительно загрузить некоторые общие ресурсы и загрузить некоторые другие вещи в фоновом режиме.

1 голос
/ 24 ноября 2011

Я согласен с @kapep, что вам следует предварительно загружать часто используемые ресурсы в начале.Если есть большие ресурсы, которые могут не понадобиться пользователю, вы можете загрузить их по требованию.

Если этот тест является последовательным, вы можете загрузить материал «контрольный вопрос 2» сразу после запуска «контрольного вопроса 1».Вы можете загрузить асинхронно, чтобы приложение оставалось интерактивным (пользователь может взаимодействовать с тестовым вопросом 1), пока загружается больше материала (ресурсы тестового вопроса 2).

0 голосов
/ 25 ноября 2011

Для предварительной загрузки ресурсов я настоятельно рекомендую использовать библиотеку Greensock .На самом деле, используя LoaderMax , вы можете поставить в очередь загружаемый контент и затем прикрепить загруженный контент к контейнерам (мувиклипы, спрайты и т. Д.)

Вот пример кода для загрузки нескольких ресурсов:

var queue:LoaderMax = new LoaderMaxVars()
                .maxConnections(1)
            .onProgress(onContentProgress)
            .onIOError(onIOErrorHandler)
                            .onComplete(onContentLoaded));

queue.append(new SWFLoader(contentTobeLoaded,new SWFLoaderVars().name(loaderName)));

....

private function onEmployeeContentLoaded(event:LoaderEvent):void {
  var loadedContent:Array = (event.target as LoaderMax).content;
  ....
...