PDA

Просмотр полной версии : Загрузка внещнего Swf - не работает полоса загрузки


kellua
26.03.2013, 02:01
Здравствуйте! Есть во flash объект с названием foto1 и полоска MoveClip называется poloska.
взял готовый код из help и переделал его.
Должно по идее быть так:
в процессе загрузки внешнего swf - полоска меняет свою длину от 1 до 301. и потом открывается загруженные ролик.
Все работает: загружает все в нужный объект, переходит на двадцатый кадр, а вот полоска не меняет длину.
может я что в коде недопонял???


var mclListener:Object = new Object();
myListener.onLoadStart = function(target_mc:MovieClip) {
var loadProgress:Object = my_mcl.getProgress(target_mc);
perem1 = loadProgress.bytesLoaded;
perem2 = loadProgress.bytesTotal;
};
myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
perem1 = loadProgress.bytesLoaded;
perem2 = loadProgress.bytesTotal;
_root.poloska._width=perem2/perem1*300+1;
};
mclListener.onLoadComplete = function(target_mc:MovieClip) {
_root.gotoAndPlay(20);
};
myListener.onLoadInit = function(target_mc:MovieClip) {
perem1 = loadProgress.bytesLoaded;
perem2 = loadProgress.bytesTotal;
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("http://******/animacia1.swf", foto1);

alex_195
26.03.2013, 04:33
Попробуй трейсить _root.poloska._width в onLoadProgress.

dark256
26.03.2013, 09:29
myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
var perem1 = loadedBytes
var perem1= totalBytes
var prog = perem1/perem1
_root.poloska._width= prog*300+1;
trace( prog ) // Должно быть от 0 до 1
trace( _root.poloska ) // Не должно быть undefined
};

loadProgress и getProgress - вам вообще не надо. внутри лоадера и так все уже есть.

kellua
26.03.2013, 11:50
вообще не выводит никаких значений. переменные все пустые.

dark256
26.03.2013, 12:19
mclListener
myListener

определитесь с переменными.... Кто там у вас кого слушает?

kellua
26.03.2013, 13:52
Ничего не меняется - все как и было...

var myListener:Object = new Object();
myListener.onLoadStart = function(target_mc:MovieClip) {
var loadProgress:Object = image_mcl.getProgress(target_mc);
};
myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
var perem1 = loadProgress.bytesLoaded;
var perem2 = loadProgress.bytesTotal;
var prog = perem2/perem1;
_root.poloska._width=prog*300+1;
};
myListener.onLoadComplete = function(target_mc:MovieClip) {
_root.gotoAndPlay(20);
};
myListener.onLoadInit = function(target_mc:MovieClip) {

};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(myListener);
image_mcl.loadClip("http://******/animacia1.swf", foto1);

Hauts
26.03.2013, 14:21
Готов поспорить, что траббл настолько банальный, что его еще сообщений десять не вспомнят. Так что выкладывайте исходник.

kellua
26.03.2013, 14:47
исходник, по идее загрузка фотографии мин 2 (скорость интернета низкая)но полоса не работает в это ожидание.

Hauts
26.03.2013, 15:01
stop();
var myListener:Object = new Object();
myListener.onLoadStart = function(target_mc:MovieClip) {
var loadProgress:Object = image_mcl.getProgress(target_mc);
};
myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
var prog = loadedBytes / totalBytes;
_root.poloska._width = prog * 300 + 1;
};
myListener.onLoadComplete = function(target_mc:MovieClip) {
_root.gotoAndPlay(2);
};
myListener.onLoadInit = function(target_mc:MovieClip) {

};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(myListener);
image_mcl.loadClip("http:*****.swf?" + Math.random(),foto1);

Пишите код в кадрах отдельного пустого и самого верхнего слоя.

Фпс флэшки лучше в >25 поставить.

kellua
26.03.2013, 15:05
а можно узнать суть Math.random???
image_mcl.loadClip("http:*****.swf?" + Math.random(),foto1);

Hauts
26.03.2013, 15:08
Избавление от кэширования. Это я для тестирования поставил.

"file.swf" и "file.swf?0.9556565" будут загружаться заново, как если бы это были фактически разные файлы.

kellua
27.03.2013, 01:18
Спасибо за помощь!!! И разъяснения. Все заработало!!!