PDA

Просмотр полной версии : preloader


rem345690
27.02.2010, 22:26
добрый день.
прошу помочь решить проблему.

ниже код который по нажатию запускает прелоадер.
хотелось бы чтоб "loadClip" выполнялся после окончания загрузки а не по нажатию как щас.



projects_btn.onPress = function() {

preloader._visible = true;
var mc_loader:MovieClipLoader = new MovieClipLoader();
var listener = new Object();
listener.onLoadStart = function(target_mc:MovieClip):Void {
var loadProgress = listener.getProgress(target_mc);
};
listener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number):Void {
var numPercentLoaded:Number = numBytesLoaded/numBytesTotal*100;
};
listener.onLoadComplete = function(target_mc:MovieClip, status:Number):Void {
};
listener.onLoadInit = function(target_mc) {
bContentLoaded = true;
if (bContentLoaded == true) {
preloader._visible = false;
mc_MainContainer._alpha = 0;
}
mc_MainContainer.alphaTo(100,2,"easeOutExpo");
};
listener.onLoadError = function(target_mc:MovieClip, errorCode:String, status:Number) {
};
mc_loader.addListener(listener);
mc_loader.loadClip("swf/home2.swf",mc_MainContainer);

};

in4core
28.02.2010, 00:00
LoadClip указывает на то ЧТО грузим! Как оно может оказаться после завершения загрузки? Сами поняли че написали?

П.с.
listener.onLoadError = function(target_mc:MovieClip, errorCode:String, status:Number) {
};
- Нафига это если не используете?* Нафиг код захламлять лишними строками

rem345690
28.02.2010, 00:30
да это код я не сам писал, ибо разбираюсь слабо.

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

Или легче подгружать в новый контейнер поверх староо?

in4core
28.02.2010, 00:36
Код мне непонятен. точнее местами, тут много чето напутано.

Что делает это ? var loadProgress = listener.getProgress(target_mc);

к чему относится это? bContentLoaded

cass
28.02.2010, 14:36
Что делает это ?
Код AS1/AS2:

var loadProgress = listener.getProgress(target_mc);


Это слушатель который выывается каждый раз когда происходит обнавления поступившихданныйх, загружаемого клипа. МС же не мгновенно грузится .

И еще немного не понял вашу мысль, как вы хотите выполнять по нажатию? останавливать мс или что, чуточку яснее мысль=)

rem345690
28.02.2010, 15:20
проблемы была вот в чем. подгружен мувик. по нажатию подгружается другой, но скажем если этот мувик 5 мб то пользователь будет секунд 20 созерцать пустой контейнер. Решил проблему подгружая мувик в контейнер поверх старого.

cass
28.02.2010, 16:17
помойму лучше предлоадер сделать для внешних SWF и все. Допустим при нажатии на кнопку осуществляется следущее, страый мс скрывается или анлоад делать, отследить его можно с помощью переменной глобальной, далее показывается предлоадер, как загрузка завершена проигрывается анимация исезновения предлоадера и осуществляется анимация нового мс(появление).

in4core
02.03.2010, 03:36
To CASS - var loadProgress = listener.getProgress(target_mc); Для этого есть готовая функция класса loadProgress зовется. Зачем городить велосипед)))

CHLameR
09.03.2010, 13:40
var total = _root.getBytesTotal();
progressBar.onEnterFrame = function() {
var loaded = _root.getBytesLoaded();
if (loaded<total) {
stop();
var loadProgress = Math.round(loaded/total*100);
counter = loadProgress+"%";
progressBar._xscale = loadProgress;
} else {
play();
}
};

Подскажите, пожалуйста, как добавить в загрузке всей флешки также загрузку внешнего файла?

in4core
09.03.2010, 14:09
Использовать класс мувиклиплоадера. или мой готовый быстрый лоадер класс.