Показать сообщение отдельно
Старый 10.02.2006, 00:13
Король вне форума Посмотреть профиль Отправить личное сообщение для Король Найти все сообщения от Король
  № 5  
Ответить с цитированием
Король
 
Аватар для Король

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
1)добавляешь все картинки в массив:
Код:
mArr = [];
for (var i = 1; i<кол-во картинок; i++) {
	mc = след картинка 
	mArr.push(mc);
}
2)создаем функцию, которая будет делать какие-то действия по очереди:

Код:
MovieClip.prototype.startConveyer = function(arr, func, offcet, speed, onComplete) {
	
	this.t = offcet;
	this.func = func;
	this.arr = arr;
	this.speed = speed;
	this.onComplete = onComplete;
	this.onEnterFrame = function() {
		this.arr[this.t].onComplete = this.func;
		this.arr[this.t].onComplete();
		if (this.t>this.arr.length) {
			delete this.onEnterFrame;
			this.onComplete();
			
		}
		this.t += this.speed;
	};
};
3) создаем функции появления-погасания

Код:
MovieClip.prototype.appear = function(){
this.alpTo(100,3)
}
MovieClip.prototype.disAppear = function(){
this.alpTo(0,3)
}
4) да, не забываем про сами прототипы транзишнов:

Код:
MovieClip.prototype.alpTo = function(alp, speed, onComplete) {
	this.alp = alp;
	this.speed = speed;
	this.onComplete = onComplete;
	this.onEnterFrame = function() {
		this._alpha += (this.alp-this._alpha)/this.speed;
		if (Math.abs(this._alpha-this.alp)<2) {
			delete this.onEnterFrame;
			this._alpha = this.alp;
			this.onComplete();
		}
	};
};
5) пишем более-менее универсальный код загрузчика:

Код:
MovieClip.prototype.loadImage = function(src, onComplete) {
		this.createEmptyMovieClip("image_holder", 100);
		
		
		this.mclListener = new Object();
		this.mclListener.onLoadComplete = function(trg) {
			
			
			trg.onComplete();
		};
                this.mclListener.onLoadStart = function(trg) {
		trg.onComplete = onComplete;
	        };
		this.mclListener.onLoadStart = function(trg) {
		};
		this.image_mcl = new MovieClipLoader();
		this.image_mcl.addListener(this.mclListener);
		this.image_mcl.loadClip(src, this.image_holder);
	};

теперь пишем код который грузит новые картинки:
Код:
loadNewImages = function(){
for(var i in mArr){
mArr[i].loadImage(линк на картинку, событие по окончанию)

}
функцию которая следит за тем - загрузились ли все картинки - напиши сам
мне ее писать сейчас лень но допустим она вызывает onAllImagesLoaded()
Дальше - картинки исчезают:

Код:
controller = _root.createEmptyMovieClip("controller", 100)
controller.startConveyer(mArr , disAppear, 0, 1, loadNewImages);
loadNewImages вызывается, загружает, потом вызывается onAllImagesLoaded()


Код:
onAllImagesLoaded = function(){
mArr.reverse() //если ты хочешь чтоб они появлялись в обратном порядке
controller.startConveyer(mArr , аppear, 0, 1);
}


Последний раз редактировалось Король; 10.02.2006 в 00:18.