Показать сообщение отдельно
Старый 16.11.2006, 03:10
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 9  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
Код:
var mn:MovieClip = this;
var fl:Boolean = false;
var tm:Number = 0;
//
function mov():Void {
	bt.onRelease = bt.onReleaseOutside=function () {
		mc = mn.attachMovie("muv", "muv1", mn.getNextHighestDepth(), {_x:50, _y:40, _alpha:10});
		//
		delete bt.onRelease;
		delete bt.onReleaseOutside;
		//
		mcPlace(100, 2, false);
		tm = getTimer();
		//
		mc.onEnterFrame = function():Void  {
			if (getTimer()-tm>10000) {
				delete mc.onEnterFrame;
				mcPlace(0, -2, true);
			}
		};
	};
}
//
function mcPlace(al:Number, kf:Number, dir:Boolean):Void {
	mn.onEnterFrame = function():Void  {
		if (dir == false) {
			mc._alpha>=al ? delete mn.onEnterFrame : mc._alpha += kf;
		} else {
			mc._alpha<=al ? delAlh() : mc._alpha += kf;
		}
	};
}
//
function delAlh():Void {
	delete mn.onEnterFrame;
	mc.removeMovieClip();
	mov();
}
//
mov();
Время задержки от начала появления, до начала исчезания задано в блоке:
Код:
mc.onEnterFrame = function():Void  {
			if (getTimer()-tm>10000) {
				delete mc.onEnterFrame;
				mcPlace(0, -2, true);
			}
		};
Кажется довольно сложно получилось, но вроде все точно.


Последний раз редактировалось pkfun; 16.11.2006 в 10:36.