PDA

Просмотр полной версии : MovieClipLoader & перемещение


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

Возникли сложности:
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);


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