Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   В чем может быть проблема (некорректная загрузка флешки?)... (http://www.flasher.ru/forum/showthread.php?t=131674)

myocean 26.10.2009 04:01

В чем может быть проблема (некорректная загрузка флешки?)...
 
Здравствуйте!

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

Код AS3:

                        for(var i:int = 0; i<36; i++){
                        loadadres(photo/'+i+'.jpg',arr_m[i]);
};

Фунция лоадера:
Код AS3:

public function loadadres(url, mclip) :void {   
 
                  var picURL:URLRequest = new URLRequest(url);
                  var picLoader:Loader = new Loader()
                  picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);
                  picLoader.load(picURL);
function onLoadComplete(evt:Event):void{
              mclip.addChild(picLoader);
                }
                }

Так вот, все это хорошо работает, но время от времени появляются следующие косяки :(
при старте через flashplayer или работе через браузер часто при загрузке не прогружаются либо 7 либо 10 первых фоток (браузер) или фотки с 2 по 16 (flashplayer)... C чем это может быть связано?

ToRR 26.10.2009 11:42

ну сколько уже можно повторять одно и то же...
не грузите кучу файлов сразу, грузите последовательно.
загрузили один файл, в onLoadComplete начинайте загрузку следующего в файла, и так далее до конца. никаких циклов.

Котяра 26.10.2009 11:48

вот кусок кода последовательной загрузки:
Код AS3:

private var texturesLength:int;
                private var loadedTexturesLength:int;
                private var loader:ResourceLoader = new ResourceLoader();
                private var styleUrl:String;
                private        var styleXML:XML = new XML();
                private function preloadAssets():void
                {
                        texturesLength = styleXML.textures.elements().length();
                        loadedTexturesLength = 0;
 
                        loadNextTextures();
                        loader.addEventListener(ResourceLoaderEvent.COMPLETE, onLoadNextTexture);
                }
 
                private function loadNextTextures():void
                {
                        loader.load(styleXML.textures.texture[loadedTexturesLength].@url);
                }
 
                private function onLoadNextTexture(e:ResourceLoaderEvent):void
                {
                        var id:String = styleXML.textures.texture[loadedTexturesLength].@id;
                        // загрузили
                        assetsBitmapList[id] = { bitmap:e.bitmap, id:id };       
                        checkLoadingTextures();
                }
 
                private function checkLoadingTextures():void
                {
 
                        if (loadedTexturesLength < texturesLength-1)
                        {
                                loadedTexturesLength++;
                                loadNextTextures();
                        }
                        else
                        {
                                loader.removeEventListener(ResourceLoaderEvent.COMPLETE, onLoadNextTexture);
                                dispatchEvent(new Event(Event.INIT));
                        }
                }


myocean 26.10.2009 12:24

Спасибо... вот в чем дело оказалось :(


Часовой пояс GMT +4, время: 06:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.