PDA

Просмотр полной версии : Анимация загрузки jpg из внешнего ресурса


BM Senya
09.07.2007, 13:59
Привет!
Подскажите пожалуйста, как сделать загрузчик, который отображал бы загрузку каждой вгружаемой jpg поверх предыдущей ещё не выгружанной. Заранее спасибо!
код загрузки jpg у меня таков

var images:Array = new Array("pn/litle/f_p_litle_1.jpg","pn/litle/f_p_litle_2.jpg","pn/litle/f_p_litle_3.jpg",
"pn/litle/f_p_litle_4.jpg","pn/litle/f_p_litle_5.jpg","pn/litle/f_p_litle_6.jpg");
var containers:Array = new Array("mc1","mc2","mc3","mc4","mc5","mc6","mc7","mc8");
var mcls:Array = new Array(new MovieClipLoader(),new MovieClipLoader(),new MovieClipLoader(),new MovieClipLoader(),new MovieClipLoader(),new MovieClipLoader());
var numOfLoaded:Number = 0;
for(var i=0;i<images.length;i++){
containers[i]._y = 10+100*i;
containers[i]._x = 10+100*i;
mcls[i].loadClip(images[i],containers[i]);
mcls[i].onLoadComplete = function(){
numOfLoaded += 1;
numloaded_tf.text = "Загружено:"+String(numOfLoaded);
}
mcls[i].addListener(mcls[i]);
};

screamge
09.07.2007, 19:04
и зачем вы new MovieClipLoader по несколько раз в арай запихнули?

BigDan
09.07.2007, 19:08
и зачем вы new MovieClipLoader по несколько раз в арай запихнули?
Чтоб для каждой картинки был свой экземпляр объекта MovieClipLoader

screamge
09.07.2007, 20:02
Чтоб для каждой картинки был свой экземпляр объекта MovieClipLoader

Ааа, ну спасибо что разъяснил. Я вот думаю зачем это всё через массив делать и вообще зачем столько экземпляров создавать, для каждой картинки своё событие должно быть? А оказалось всё так просто.
Спасибо:bye:

BM Senya
09.07.2007, 20:03
Вы между собой будете вопросы друг другу задавать
или мне поможете?=)))

screamge
09.07.2007, 20:17
import mx.utils.Delegate;
_root.nowLoad = 0;

var images:Array = new Array("pn/litle/f_p_litle_1.jpg","pn/litle/f_p_litle_2.jpg","pn/litle/f_p_litle_3.jpg",
"pn/litle/f_p_litle_4.jpg","pn/litle/f_p_litle_5.jpg","pn/litle/f_p_litle_6.jpg");

var containers:Array = new Array("mc1","mc2","mc3","mc4","mc5","mc6","mc7","mc8");



function loadmc ():Void {
var listener:Object = new Object ();

var loader:MovieClipLoader = new MovieClipLoader ();
loader.addListener(listener)

listener.onLoadComplete = Delegate.create (this, this.onLoadEvent);

loader.loadClip(images[_root.nowLoad], containers[_root.nowLoad]);
}

function onLoadEvent ():Void {
_root.nowLoad ++;
if (_root.nowLoad != images.length){
numloaded_tf.text = "Загружено: "+ _root.nowLoad.toString ();
containers[_root.nowLoad]._y = 10+100* _root.nowLoad;
containers[_root.nowLoad]._x = 10+100* _root.nowLoad;

loadmc ()
} else {
trace ('End of work')
}
}


Если BigDan не против такого варианта я думаю что работать будет.

BigDan
09.07.2007, 20:21
у тебя загружается последовательно, а в том примере одновременно.

screamge
09.07.2007, 20:24
Угу, и часто загружается всё и сразу при работе приложения в интернете? А если это локально, то моя последовательная загрузка будет не заметна..так как всё разом загрузится.

Кстати мой вариант _очень_ делёк от правильного, но если хотите что бы было правильно пишите в классах.

BM Senya
10.07.2007, 11:18
Так а как же мне видеть процесс загрузки?

BigDan
10.07.2007, 12:57
Так а как же мне видеть процесс загрузки?
onLoadProgress

BM Senya
10.07.2007, 13:13
Поподробнее можете?
Вот у меня есть готовый прелоадер, куда мне его вставлять?В контейнер куда будет грузиться картинка или куда?Мне нужно чтоб юзер выдел что картинки грузятся.

Ну помогите справиться с проблемой))

BigDan
10.07.2007, 16:24
http://ascoding.wordpress.com/2007/06/12/%d0%92%d1%81%d0%b5-%d0%be-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b5/

BM Senya
10.07.2007, 17:04
так а как же прелоадер туда вставить чтоб не цифры а полосой отброжалось

BigDan
10.07.2007, 20:51
так а как же прелоадер туда вставить чтоб не цифры а полосой отброжалось
Вы, что не умеете программно рисовать? если нет, то берете клип и в зависимости от процента загрузки меняете width.

BM Senya
11.07.2007, 11:15
Да у меня уже готовый прелоадер.
Что нужно в коде дописать и куда его вставить?

Ну мне кто-нить подскажет?!!!