11
мар
  Tween класс+интервал - как остановить все движения   0 баллов
 

Добрый день.
Помогите пожалуйста разобраться. Я в клип buffer1 подгружаю и с помошью класса Tween показываю и скрываю картинки.С помощью интервалов повторяю действие, чтоб по кругу происходил показ галереи.
Но проблема возникает когда по нажатию на кнопку abzzAutoplay надо остановить все движения. Я удаляю интервалы и стопорю каждое движение,
но все равно что-то не отрабатывается, картинка или пропадает совсем или дергается (появляется-исчезает) периодически. Никак не могу понять в чем дело. Может можно как-то остановить вообще все движения сразу?
Прилагаю код:
СhangeImg(); // запускаю показ галереи на первый раз,потом с интервалом
_root['IntervLoad'] = setInterval(function ()
{
СhangeImg();
}, 30000);
//функция для загрузки картинок на 1 круг
function СhangeImg()
{
_root['InterG0'] = setInterval(function ()
{
clearInterval(_root['InterG0']);
var loader7:MovieClipLoader = new MovieClipLoader();
var listener7:Object = {};
loader7.addListener(listener7);
loader7.loadClip(_root.pic[0],buffer1);
alpha_mc(buffer1,100,varTween1);
_root['InterI0'] = setInterval(function ()
{
clearInterval(_root['InterI0']);
alpha_mc(buffer1,0,varTween2);
}, 4000);
}, 1);
_root['InterG1'] = setInterval(function ()
{
clearInterval(_root['InterG1']);
var loader8:MovieClipLoader = new MovieClipLoader();
var listener8:Object = {};
loader8.addListener(listener8);
loader8.loadClip(_root.pic[1],buffer1);
alpha_mc(buffer1,100,varTween3);
_root['InterI1'] = setInterval(function ()
{
clearInterval(_root['InterI1']);
alpha_mc(buffer1,0,varTween4);
}, 4000);
}, 5000);
_root['InterG2'] = setInterval(function ()
{
clearInterval(_root['InterG2']);
var loader9:MovieClipLoader = new MovieClipLoader();
var listener9:Object = {};
loader9.addListener(listener9);
loader9.loadClip(_root.pic[2],buffer1);
alpha_mc(buffer1,100,varTween5);
_root['InterI2'] = setInterval(function ()
{
clearInterval(_root['InterI2']);
alpha_mc(buffer1,0,varTween6);
}, 4000);
}, 10000);
_root['InterG3'] = setInterval(function ()
{
clearInterval(_root['InterG3']);
var loader10:MovieClipLoader = new MovieClipLoader();
var listener10:Object = {};
loader10.addListener(listener10);
loader10.loadClip(_root.pic[3],buffer1);
alpha_mc(buffer1,100,varTween7);
_root['InterI3'] = setInterval(function ()
{
clearInterval(_root['InterI3']);
alpha_mc(buffer1,0,varTween8);
}, 4000);
}, 15000);
_root['InterG4'] = setInterval(function ()
{
clearInterval(_root['InterG4']);
var loader11:MovieClipLoader = new MovieClipLoader();
var listener11:Object = {};
loader11.addListener(listener11);
loader11.loadClip(_root.pic[4],buffer1);
alpha_mc(buffer1,100,varTween9);
_root['InterI4'] = setInterval(function ()
{
clearInterval(_root['InterI4']);
alpha_mc(buffer1,0,varTween10);
}, 4000);
}, 20000);
_root['InterG5'] = setInterval(function ()
{
clearInterval(_root['InterG5']);
var loader12:MovieClipLoader = new MovieClipLoader();
var listener12:Object = {};
loader12.addListener(listener12);
loader12.loadClip(_root.pic[5],buffer1);
alpha_mc(buffer1,100,varTween11);
_root['InterI5'] = setInterval(function ()
{
clearInterval(_root['InterI5']);
alpha_mc(buffer1,0,varTween12);
}, 4000);
abzzDock.enabled = true;
MenuPortfolio.enabled = true;
MenuContact.enabled = true;
abzzAutoplay.enabled = true;
abzzFullscreen.enabled = true;
abzzAutoplay.filters = filterArrayA;
}, 25000);
}
function alpha_mc(par1, par2, par3)
{
par3.stop();
par3 = new Tween(par1, "_alpha", None.easeNone, par1._alpha, par2, 1, true);
}
//и реакция на нажатие на мувик abzzAutoplay
abzzAutoplay.onRelease = function()
{
if (abzzAutoplayP)// проверка крутится ли галерея
{
for (var i = 0; i<6; i++)
{
clearInterval(_root['InterI'+i]);
clearInterval(_root['InterG'+i]);
}
abzzAutoplay.filters = filterArrayN;
clearInterval(_root['IntervLoad']);
varTween1.stop();
varTween2.stop();
varTween3.stop();
varTween4.stop();
varTween5.stop();
varTween6.stop();
varTween7.stop();
varTween8.stop();
varTween9.stop();
varTween10.stop();
varTween11.stop();
varTween12.stop();
// и так далее

Комментарии (4)   Автор: Vixen
Комментарии
admin
11.03.09 | 12:50
0 баллов

Приведите код abzzAutoplay.onRelease = function() до конца, чтобы было понятно, чем он завершается. Так же, по возможности, выложите исходник и вставьте код в тег-форматирования кода (иконка листа с голубыми фигурными скобками).

Vixen
12.03.09 | 10:31
0 баллов

я убрала все лишнее, оставила только что касается галереи. код:

// в функцию первоначальные движения чтоб выполнялись после загрузки галереи
function FerstLoad()
{
	motionY(abzzDock,abzzDockY0,abzzDockY0-40);
	motionY(MenuPortfolio,MenuPortfolioY0,MenuPortfolioY0-40);
	motionY(abzzAutoplay,abzzAutoplayY0,abzzAutoplayY0-40);
	СhangeImg();
	_root['IntervLoad'] = setInterval(function ()
	{
		СhangeImg();
	}, 30000);
}

//реакция на нажатие на abzzAutoplay
abzzAutoplay.onRelease = function()
{
	if (abzzAutoplayP)
	{
		for (var i = 0; i<6; i++)
		{
			clearInterval(_root['InterI'+i]);
			clearInterval(_root['InterG'+i]);
		}
		clearInterval(_root['IntervLoad']);
		varTween1.stop();
		varTween2.stop();
		varTween3.stop();
		varTween4.stop();
		varTween5.stop();
		varTween6.stop();
		varTween7.stop();
		varTween8.stop();
		varTween9.stop();
		varTween10.stop();
		varTween11.stop();
		varTween12.stop();
		_root['Intervv'] = setInterval(function ()
		{
			clearInterval(_root['Intervv']);
			buffer1._alpha = 100;
		}, 600);
		
		abzzAutoplayP = false;
		holder_mc._alpha = 100;
		motionY(abzzDock,abzzDockY0-40,abzzDockY0-100);
		motionY(MenuPortfolio,MenuPortfolioY0-40,MenuPortfolioY0-100);
		motionY(abzzAutoplay,abzzAutoplayY0-40,abzzAutoplayY0-100);
		motionY(hmc,hmcY0-40,hmcY0-100);
		abzzDockP = 1;
	}
	else
	{
		varTween01.stop();
		varTween02.stop();
		motionY(abzzDock,abzzDockY0-100,abzzDockY0-40);
		motionY(MenuPortfolio,MenuPortfolioY0-100,MenuPortfolioY0-40);
		motionY(abzzAutoplay,abzzAutoplayY0-100,abzzAutoplayY0-40);
		motionY(hmc,hmcY0-100,hmcY0-40);
		abzzDockP = 0;
		СhangeImg();
		_root['IntervLoad'] = setInterval(function ()
		{
			СhangeImg();
		}, 30000);
		abzzAutoplayP = true;
		holder_mc.enabled = false;
	}
};
// загрузка галереи на один круг
function СhangeImg()
{
	buffer1._alpha = 0;
	_root['InterG0'] = setInterval(function ()
	{
		clearInterval(_root['InterG0']);
		var loader7:MovieClipLoader = new MovieClipLoader();
		var listener7:Object = {};
		loader7.addListener(listener7);
		loader7.loadClip(_root.pic[0],buffer1);
		alpha_mc(buffer1,100,"varTween1");
		_root['InterI0'] = setInterval(function ()
		{
			clearInterval(_root['InterI0']);
			alpha_mc(buffer1,0,"varTween2");
		}, 4000);
	}, 1);
	_root['InterG1'] = setInterval(function ()
	{
		clearInterval(_root['InterG1']);
		var loader8:MovieClipLoader = new MovieClipLoader();
		var listener8:Object = {};
		loader8.addListener(listener8);
		loader8.loadClip(_root.pic[1],buffer1);
		alpha_mc(buffer1,100,"varTween3");
		_root['InterI1'] = setInterval(function ()
		{
			clearInterval(_root['InterI1']);
			alpha_mc(buffer1,0,"varTween4");
		}, 4000);
	}, 5000);
	_root['InterG2'] = setInterval(function ()
	{
		clearInterval(_root['InterG2']);
		var loader9:MovieClipLoader = new MovieClipLoader();
		var listener9:Object = {};
		loader9.addListener(listener9);
		loader9.loadClip(_root.pic[2],buffer1);
		alpha_mc(buffer1,100,"varTween5");
		_root['InterI2'] = setInterval(function ()
		{
			clearInterval(_root['InterI2']);
			alpha_mc(buffer1,0,"varTween6");
		}, 4000);
	}, 10000);
	_root['InterG3'] = setInterval(function ()
	{
		clearInterval(_root['InterG3']);
		var loader10:MovieClipLoader = new MovieClipLoader();
		var listener10:Object = {};
		loader10.addListener(listener10);
		loader10.loadClip(_root.pic[3],buffer1);
		alpha_mc(buffer1,100,"varTween7");
		_root['InterI3'] = setInterval(function ()
		{
			clearInterval(_root['InterI3']);
			alpha_mc(buffer1,0,"varTween8");
		}, 4000);
	}, 15000);
	_root['InterG4'] = setInterval(function ()
	{
		clearInterval(_root['InterG4']);
		var loader11:MovieClipLoader = new MovieClipLoader();
		var listener11:Object = {};
		loader11.addListener(listener11);
		loader11.loadClip(_root.pic[4],buffer1);
		alpha_mc(buffer1,100,"varTween9");
		_root['InterI4'] = setInterval(function ()
		{
			clearInterval(_root['InterI4']);
			alpha_mc(buffer1,0,"varTween10");
		}, 4000);
	}, 20000);
	_root['InterG5'] = setInterval(function ()
	{
		clearInterval(_root['InterG5']);
		var loader12:MovieClipLoader = new MovieClipLoader();
		var listener12:Object = {};
		loader12.addListener(listener12);
		loader12.loadClip(_root.pic[5],buffer1);
		alpha_mc(buffer1,100,"varTween11");
		_root['InterI5'] = setInterval(function ()
		{
			clearInterval(_root['InterI5']);
			alpha_mc(buffer1,0,"varTween12");
		}, 4000);
	}, 25000);
}
//задаем смену альфа
function alpha_mc(par1, par2, par3)
{
	par3.stop();
	var par3 = new Tween(par1, "_alpha", None.easeNone, par1._alpha, par2, 1, true);
}

In order to view this page you need Flash Player 9+ support!

Get Adobe Flash player

Vixen
12.03.09 | 15:20
13 баллов

Я поняла :) просто движение не успевало за отведенное время завершиться. Даже когда просто по кругу галерея крутилась глючило. Остановка движений тут ни при чем, она нормально отрабатывается. Переделала начало следующего движения после завершения предыдущего и нормально все. Спасибо :)

admin
12.03.09 | 18:56
0 баллов

Молодцы, что получилось самим разобраться =)

 
 
 
 

Последние комментарии

Полезные ссылки

Реклама сайтов

Скидки на жемчуг и янтарь. Оптовая продажа жемчуга в москве. Индийские украшения и бижутерия.
Модные украшения, жемчуг. Посмотрите каталог ювелирной бижутерии на сайте. Скидки в мире жемчуга.