|
|
|||||
Регистрация: Jan 2009
Сообщений: 221
|
Внешний прелоадер
Добрый день!
делаю проект, и надо сделать внешний флеш файл, который бы загружал другой флеш (он состоит из двух внешних картинок и одного музыкального файла), как это можно реализовать, в сети нашел программу SWF, Lock & Load, которая, по идеи, должна делать то, что мне надо, но, видимо это из-за того что мой флеш состоит из двух внешних картинок и одного музыкального файла |
|
|||||
стервочка (я мужик)
|
используйте класс Loader
|
|
|||||
Регистрация: Mar 2009
Сообщений: 31
|
Пытаясь создать внешний прелоадер, столкнулся с проблемой. Вот код моей флешки, которая загружает другую:
var cifra:Number; var loader:Loader = new Loader(); var urlRequest:URLRequest = new URLRequest("http://maximumrisk.narod.ru/mos.swf"); loader.load(urlRequest); loader.contentLoaderInfo.addEventListener(Event.INIT, initListener); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener); function progressListener(e:ProgressEvent):void{ cifra = Math.round(e.bytesLoaded/e.bytesTotal*100); moovik.progrecc.gotoAndStop(Math.round(e.bytesLoaded/e.bytesTotal*100)); } function initListener(e:Event):void{ addChild(loader); } function completeListener(e:Event):void{ removeChild(moovik); } trace(cifra); |
|
|||||
Трейсите не там
__________________
Дело не в тебе |
|
|||||
Регистрация: Mar 2009
Сообщений: 31
|
Поместил
внутрь progressListener, трейсится, но мувик-прелоадер все все равно не работает. И загруженная флешка жутко тормозит и ругается так:
Цитата:
|
|
|||||
меценат
|
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.display.Loader; import flash.display.LoaderInfo; import flash.net.URLRequest; import flash.events.Event; import flash.events.ProgressEvent; import flash.display.LineScaleMode; import flash.display.CapsStyle; import flash.display.JointStyle; [SWF(width='900', height='750', backgroundColor='#FFFFFF', frameRate='31')] /*____________________________________________________*/ public class FotoBigLoader extends Sprite { private var picLoader: Loader; private var myRequest: URLRequest; private var scaleOfLoad: Sprite; private var percentOfLoad: Number = 0; public var completeLoad: Boolean; public function FotoBigLoader() { thisLoaderElement(); drawPlayer(); } private function thisLoaderElement(): void { picLoader = new Loader(); myRequest = new URLRequest("image/big image/foto.jpg"); picLoader.load(myRequest); picLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onLoadProgress); picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); } private function drawPlayer(): void { scaleOfLoad = new Sprite; addChild(scaleOfLoad); } private function actionScaleOfLoad(target:Sprite): void { target.graphics.clear(); target.graphics.lineStyle(6, 0x9B79AE, 1.0, false, LineScaleMode.NONE, CapsStyle.SQUARE); target.graphics.moveTo(0, 594); target.graphics.lineTo(percentOfLoad, 594); target.graphics.endFill(); } function onLoadProgress(event:ProgressEvent): void { percentOfLoad = Math.floor((event.bytesLoaded / event.bytesTotal) * (100 * 9)); actionScaleOfLoad(scaleOfLoad as Sprite); } function onLoadComplete(event:Event): void { completeLoad = true; removeChild(Sprite(scaleOfLoad)); addChild(picLoader); picLoader.x = 75; picLoader.y = 300; } } }
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
|
|||||
Регистрация: Mar 2009
Сообщений: 31
|
D12, спасибо тебе, но мне непонятные многие вещи в твоем коде. Например, вот это:
|
|
|||||
меценат
|
^^)
Ой прошу прощения этой строчкай указываеться разрешение и фпс когда програмируете в флешьДевелопмер+компилирование FlexSDK а так не нужно а так все работает и проверяно много раз вот как это выглядит с этим кодом http://goroskop.110mb.com/FotoGallery.swf
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
|
|||||
Регистрация: Mar 2009
Сообщений: 31
|
D12, если у тебя есть время, не объяснишь мне некоторые непонятные вещи в твоем коде. Разобраться хочется.
- почему мы рисуем линию до 594? - почему же здесь 100 умножается еще на девять? Я привык к такой записи И вот эти 2 строчк еще не понимаю: Почему нельзя просто записать removeChild(scaleOfLoad); Еще твоя флешка у меня почему-то не работает. Последний раз редактировалось Captain QUAZAR; 01.01.2010 в 18:00. |
|
|||||
меценат
|
эм это как бы класс и он работает а путь к картинке ты верно прописал ?
1. 594 это координата по игрику 2. у множа. на 9 потаму что если просто на сто то прелоадер будет длинной в 100пикселей а мне нужно пустить его по всей ширене тоесть 900 2. первая строчка это наш спрайт линия отправляеться на функцию где она будет менять свою длинну по результатам данных загрузки, вторая строчка это из другой функции где она удаляет прелоадер после завершения загрузки картинки
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
Часовой пояс GMT +4, время: 15:54. |
|
« Предыдущая тема | Следующая тема » |
|
|