Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Подгрузка внешних swf в определенном порядке (http://www.flasher.ru/forum/showthread.php?t=77344)

Vitalis 23.03.2006 13:43

Подгрузка внешних swf в определенном порядке
 
У меня есть флешка в которую я подгружаю внешие swf файлы мне нужно что бы в начале загрузился файл 1.swf далее 2.swf, а потом 3.swf
в идеале следующий файл должен начинать загружаться после полной загрузки другово. Я использую на кадре 1 loadMovieNum("1.swf", 1); на кадре 2 loadMovieNum("2.swf", 1);. Но желаемого результата конечно же не добился. Подскажите, как мне это сделать?

xcho_ 23.03.2006 21:56

используй loadMovie(); для загрузки свф-ок в проэкт...
а чтоб по очереди грузились,создай програмный прелоадер,так сказать...
типа используй
getBytesTotal() и getBytesLoaded();...на эту тему кучу топиков можно нарыть...да и ктому же исходников хуча туева!

if(первКлип.getBytesLoaded() == первКдип.getBytesTotal()){
загрузка второго клипа...
}
не обязательно так,но что-то такого типа...
так что вот так оно...

Reijii 24.03.2006 11:26

вот когда то писал себе очередь загрузки:
Код:

class ClipLoader
{
        private var clipArray:Array;
        // constructor
        public function ClipLoader()
        {
                this.clipArray = new Array();
        }
        //
        private function MovieToLoad(filename:String, target:MovieClip):Object
        {
                var item:Object = new Object();
                item.filename = filename;
                item.target = target;
                return item;
        }
        //
        public function addFile(clip:String, target:MovieClip):Void
        {
                this.clipArray.push(MovieToLoad(clip, target));
        }
        //
        private function clearStack():Void
        {
                this.clipArray.length = 0;
        }
        //
        private function loadNext():Void
        {
                var currentMovie:Object = new Object();
                var thisObj = this;
                //
                if (thisObj.clipArray.length > 0)
                {
                        currentMovie = this.clipArray.shift();
                        var mcLoader:MovieClipLoader = new MovieClipLoader();
                        var listener:Object = new Object();
                        //
                        listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void
                        {
                                var progr:Number = ((bytesLoaded / bytesTotal) * 100);
                                //trace(progr);
                        };
                        listener.onLoadInit = function(target:MovieClip):Void
                        {
                                //trace("start");
                                thisObj.loadNext();
                        };
                        listener.onLoadError = function(target:MovieClip, errorCode:String):Void
                        {
                                //trace(errorCode);
                                thisObj.loadNext();
                        };
                        mcLoader.addListener(listener);
                        mcLoader.loadClip(currentMovie.filename.toString(), currentMovie.target);
                }
        }
        //
        public function startLoad():Void
        {
                var thisObj = this;
                thisObj.loadNext();
        }

использование:
Код:

import ClipLoader;
//
var loader:Object = new ClipLoader();
//
var somecontainer:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
//
loader.addFile("some.swf", somecontainer);
//
loader.startLoad();



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

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