Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Динамическая загрузка картинок, не удаляются дети - addChild(picLoader) (http://www.flasher.ru/forum/showthread.php?t=92179)

Exey 17.02.2007 21:12

Динамическая загрузка картинок, не удаляются дети - addChild(picLoader)
 
Нужно, чтобы в слайдшоу, при загрузке следующей фотки, была видна предыдущая.
Если загружать друг на друга — флэш сжирает всю оперативку(фоток около тысячи):
Код:

function LoaderExample(nextfoto):void
{
var picLoader:Loader = new Loader();
var request:URLRequest = new URLRequest(nextfoto);
picLoader.load(request);
addChild(picLoader);
}

Использование контейнера (как здесь http://flasher.ru/forum/showthread.php?t=83673#2) даёт тот же самый эффект.

Как видеть предыдущую картинку, при загрузке новой?

etc 17.02.2007 21:17

Грузить попеременно в два разных лоадера, меняя у них глубину.

Exey 17.02.2007 21:49

Спасибо, сделал так:
Код:

var loader1:Loader = new Loader();
var loader2:Loader = new Loader();
var ldrcount:uint;

function LoaderExample(nextfoto):void
{
var request:URLRequest = new URLRequest(nextfoto);
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete1);
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete2);
if(true == ldrcount%2){
loader1.load(request);       
ldrcount++;
}else{
loader2.load(request);
ldrcount++;
}
}
public function onComplete1(event:Event):void {
swapChildren(loader1, loader2);
}
public function onComplete2(event:Event):void {
swapChildren(loader2, loader1);
}

Правда события запаздывают. А почему дебагер вылетает перед загрузкой второй картинки?

Nirth 17.02.2007 21:51

А что он говорит?

Exey 17.02.2007 22:11

Ничего.
У меня отдельный класс Picloader();
Если закомментить:
Код:

//loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete1);
//loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete2);

то не вылетает.

Прослушка вырубает?

Nirth 18.02.2007 20:19

Когда вылетает дебагер, он должен написать сообщение, дать стэк ошибки.

Exey 25.02.2007 16:07

Nirth Вот Stack:
Код:

file:/C:/Documents and Settings/Администратор/My Documents/Flex Builder 2/Slideshow/bin/Slideshow-debug.html
        Main Thread (Suspended)
                Picloader/Picloader::onComplete2


Exey 25.02.2007 16:12

На обычном модеме, первые фотки грузяться нормально, потом потухают, как будто лодеры срабатывают одновременно.

Как фиксить?
http://ravenland.ru/about/upload/Slideshow2.swf

Nirth 25.02.2007 23:48

господи ну пишет же тебе два эксепшенa

Код:

TypeError: Error #1010: A term is undefined and has no properties.
        at Previewloader/myPreviewLoader()
        at Slideshow/::ShowPreview()
        at Slideshow/::parseData2()
        at Slideshow/onLoaded2()
        at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at flash.net::URLLoader/flash.net:URLLoader::onComplete()

Код:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at Slideshow/::parseData()
        at Slideshow/onLoaded()
        at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at flash.net::URLLoader/flash.net:URLLoader::onComplete()

В первом случае свойство не найдено, во втором null.


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

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