Добрый день.
Помогите пожалуйста разобраться. Я в клип 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();
// и так далее |
Приведите код abzzAutoplay.onRelease = function() до конца, чтобы было понятно, чем он завершается. Так же, по возможности, выложите исходник и вставьте код в тег-форматирования кода (иконка листа с голубыми фигурными скобками).
я убрала все лишнее, оставила только что касается галереи. код:
// в функцию первоначальные движения чтоб выполнялись после загрузки галереи 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!
Я поняла :) просто движение не успевало за отведенное время завершиться. Даже когда просто по кругу галерея крутилась глючило. Остановка движений тут ни при чем, она нормально отрабатывается. Переделала начало следующего движения после завершения предыдущего и нормально все. Спасибо :)
Молодцы, что получилось самим разобраться =)