Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Flash MX: myMovieClip.onData (http://www.flasher.ru/forum/showthread.php?t=29333)

john 29.03.2002 01:11

Проблема в том что мувик с подгруженым содержанием уже "другой swf" и тут не registerClass не onData не onLoad не помогают,

единственный выход это вызвать действие из подгружаемого SWF.

либо делать устаревшими методами....

john 29.03.2002 01:23

Смешное решение, но что то в этом есть :)


Код:



a = new Sound();
a.onLoad = function()
{
        trace(this.getBytesLoaded());
        myMovie_mc.loadMovie("load.jpg");
        delete this;
};
a.loadSound("load.jpg");

сейчас смувиками попробую

john 29.03.2002 02:35

немного оформилась идея, вот что могу предложить,

создаем некий объект который загружает данные (SWF, JPG или MP3), кеширует данные, которы после загрузки можно уже использовать.

работа основывется на использовании объекта Sound.
ему как показала практика что загрузать, стрим он и есть стрим.

название Image взял из JS как бы понятно. Удобнее чем пользовать Preloader например

Код:

//-------------------------------------------------------------------------
//        создание класса image
//-------------------------------------------------------------------------
_global.Image = function(src)
{
        this.data = new Sound();
        this.data.root = this;
        if (src != undefined) {
                this.tmp_interval = setInterval(this,"load",20,src)// это чтобы успеть создать эвент onLoad
        }
};
Image.prototype.load = function(src)
{
        clearInterval(this.tmp_interval);
       
        this.data.onLoad = function()
        {
                this.root.onLoad();
        };
        this.data.loadSound(src);
};
Image.prototype.getBytesLoaded = function()
{
        return this.data.getBytesLoaded();
};
Image.prototype.getBytesTotal = function()
{
        return this.data.getBytesTotal();
};
ASSetPropFlags(_global, "Image", 7);
//-------------------------------------------------------------------------
//        использование 1
//-------------------------------------------------------------------------
img = new Image("load.jpg");
img.onLoad = function()
{
        myMovie_mc.loadMovie("load.jpg");
};
//-------------------------------------------------------------------------
//        использование 2
//-------------------------------------------------------------------------
img = new Image();
img.onLoad = function()
{
        myMovie_mc.loadMovie("load.jpg");
};
img.load("load.jpg")

вот такие дела :)

john 29.03.2002 04:29

Вот это я думаю это уже окончательный релиз :D


Код:


//*************************************************************************
//-------------------------------------------------------------------------
//        class image
//-------------------------------------------------------------------------
_global.Image = function(src,mc)
{
        this._targetMovie = mc;
        this.data = new Sound();
        this.data.root = this;
        if (src != undefined)
        {
                this.tmp_interval = setInterval(this,"load",20,src)// for onLoad creat
        }
}
Image.prototype.load = function(src,mc)
{
        clearInterval(this.tmp_interval);
       
        this._targetMovie = mc||this._targetMovie;
        this._src = src;
       
        this.data.onLoad = function()
        {
                this.root.onLoad();
        }
        this.data.loadSound(src);
}
Image.prototype.getBytesLoaded = function()
{
        return this.data.getBytesLoaded();
}
Image.prototype.getBytesTotal = function()
{
        return this.data.getBytesTotal();
}
Image.prototype.onLoad = function()
{
        if(this._targetMovie != undefined )this._targetMovie.loadMovie(this._src);
}

Image.prototype.addProperty("src",function()
{
        return this._src;
},Image.prototype.load)

ASSetPropFlags(_global, "Image", 7);

//*************************************************************************
//-------------------------------------------------------------------------
//        usage 1
//-------------------------------------------------------------------------
img = new Image("load.jpg");
img.onLoad = function()
{
        myMovie_mc.loadMovie("load.jpg");
}
//-------------------------------------------------------------------------
//        usage 2
//-------------------------------------------------------------------------
img = new Image();
img.onLoad = function()
{
        myMovie_mc.loadMovie("load.jpg");
}
img.load("load.jpg")
//-------------------------------------------------------------------------
//        usage 3
//-------------------------------------------------------------------------
img = new Image();
img.onLoad = function()
{
        myMovie_mc.loadMovie("load.jpg");
}
img.src = "load.jpg";
//-------------------------------------------------------------------------
//        usage 4
//-------------------------------------------------------------------------
img = new Image();
img.load("load.jpg",myMovie_mc);
//-------------------------------------------------------------------------
//        usage 5
//-------------------------------------------------------------------------
img = new Image("load.jpg",myMovie_mc);


john 29.03.2002 05:52

вот пример загрузки картинки (JPG),

http://www.3wgraphics.net/tmp/load/test_load.html

SWF то же самое, лень выкладывать пример.

john 29.03.2002 16:06

ну как?

Baltika 29.03.2002 19:06

мудрено
%)


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

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