Форум 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)
-   -   MovieClipLoader & перемещение (http://www.flasher.ru/forum/showthread.php?t=84642)

jdonni 05.09.2006 05:06

MovieClipLoader & перемещение
 
Здраствуйте! После некоторых попыток и прочтения форума вдоль и поперёк. создал код, который кое-как работает(приведён ниже).

Возникли сложности:
1) После загрузки созднанный методом createEmptyMovieClip клип помещеается в первый кадр обоих сцен(прелоадера и самого ролика). Как его переместить? (попытки отображены в коде)

2) Почему-то сцена загрузки перекрывается белым квадратом(думаю созданным мови-клипом), но не вся, а только наполовину.. почему -- тоже не знаю.

где-то в коде я что-то опустил.
Буду рад, если кто-нибудь не пожалеет своего времени и поможет :)

Код:

var loader:MovieClipLoader = new MovieClipLoader();
var loadHandler:Object = new Object();
loader.addListener(loadHandler);


loadHandler.onLoadInit = function(_mc:MovieClip) {
        trace('onLoadInit');
        loader.removeListener(loadHandler);
        delete _mc.onEnterFrame;
        nextScene();               
};

loadHandler.onLoadComplete = function() {
        trace('Load complete!!!');
        nextScene();
};

loadHandler.onLoadProgress = function(_mc:MovieClip, loaded:Number, total:Number) {
        trace('onLoadProgress');
        percent = loaded / total * 500;
    trace('perc='+percent);
  _root.loader.gotoAndStop(percent);
};



loadHandler.onLoadStart = function (_mc:MovieClip)
{
trace ("onLoadStart");
show_prload(_mc);
}

function show_prload(mc:MovieClip)
{
        mc.onEnterFrame = function()
        {
                var t = mc.getBytesTotal();
                var l = mc.getBytesLoaded();
               
                percent500=Math.floor((l/t)*500);
                _root.loader.gotoAndStop(percent500);
               
                _percent100=Math.floor((l/t)*100);
                _root.p_.c_.text=_percent100+"%"
               
                trace("ЗАГРУЖЕНО "+Math.round(l/t*100)+" %");
                trace(Math.round(l/t*100));
        };
}


this.createEmptyMovieClip("mc",this._parent.getNextHighestDepth());
loader.loadClip("b8.jpg", mc);


//ТУТ Я ДУМАЮ ПЕРЕМЕСЕСТЬ ЭТОТ MC куда-нибудь за область экрана
mc.moveTo(500, 500);
this.attachGraphic(mc, 500, 500, 0);

trace('\n\n\nloadClip');


Trace output:
Код:

loadClip
onLoadStart
Load complete!!!
ЗАГРУЖЕНО 0 %
0
.........
ЗАГРУЖЕНО 100 %
100
onLoadInit


Juice_Green 05.09.2006 09:30

не увидел смысла вешать дополнительно обработчик на onEnterFrame, можно его спокойно убить, а код оставить в onLoadProgress (получается что каждый раз с получением порции загрузки еще и onEnterFrame переопределяется).

в onLoadInit из за области видимости переменных не думаю что удаляется объект обработчик.

перемещать клип пробуй как раз в onLoadComplete или onLoadInit

Nirth 05.09.2006 11:18

переместил в раздел для новичков

jdonni 05.09.2006 11:35

в конце ролика поставил

Код:

this.createEmptyMovieClip("mc",this._parent.getNextHighestDepth());
mc._x=600;
mc._y=600;       
loader.loadClip("b8.jpg", mc);

и заработало. но второй пункт так и не могу исправить


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

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