![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Большая просьба помочь,потому что я уже не могу найти этой проблеме объяснение.
Суть вот в чем: Есть swf в которой используется для создания анимации setInterval(смена картинок,печатание текста,ну и всякого разного),эта swf грузится MovieClipLoader в главную swf. и тут самое интересное.Нажимаем кнопочку,запускающюю дочернюю swf - все нормально. Потом жмем другую кнопочку,запускающюю другую дочернюю swf,а потом опять 1 кнопочку,которая снова грузит swf с setInterval и пожалуйста,SetInterval запускается в 2 раза быстрее,и естесствено вся работа летит к чертям,если ещё разок запустить эту swf,то setInterval вызывается в 4 раза быстрее и т.д. var SLAID = 5000
var Slaid = null;
////
Slaid = setInterval(slaid,SLAID)
/////
function slaid() {
page_mc.watch("brightness",zasvet,page_mc)
page_mc.vartween = new Tween(page_mc, "_x", Regular.easeOut,page_mc._x,page_mc._x-300, 1.2, true);
page_mc.vartween.onMotionFinished = function(){
page_mc.vartween1 = new Tween(page_mc,"brightness",Regular.easeOut,100,0,1.2,true)
}
if (page_mc._x+page_mc._width<300) {
page_mc.vartween.stop();
page_mc.vartween.continueTo(300,0.8);
}
}
var Start = 3000;
var perebor = null;
////////////
function perebork() {
clearInterval(perebor);
pereborka.vartween = new Tween(pereborka, "_xscale", Elastic.easeOut, 0, 100, 1.2, true);
pereborka._visible = true;
diman_txt.vartween2 = new Tween(diman_txt, "_width", Elastic.easeOut, 600, 300, 1.2, true);
mask_mc.vartween3 = new Tween(mask_mc, "_width", Elastic.easeOut, 600, 300, 1.2, true);
}
perebor = setInterval(perebork, Start);
var Start = 3000;
////////////
function perebork() {
clearInterval(perebor);
pereborka.vartween = new Tween(pereborka, "_xscale", Elastic.easeOut, 0, 100, 1.2, true);
pereborka._visible = true;
diman_txt.vartween2 = new Tween(diman_txt, "_width", Elastic.easeOut, 600, 300, 1.2, true);
mask_mc.vartween3 = new Tween(mask_mc, "_width", Elastic.easeOut, 600, 300, 1.2, true);
}
perebor = setInterval(perebork, Start);
|
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
А так?
function perebork() {
clearInterval(perebor);
pereborka.vartween = new Tween(pereborka, "_xscale", Elastic.easeOut, 0, 100, 1.2, true);
pereborka._visible = true;
diman_txt.vartween2 = new Tween(diman_txt, "_width", Elastic.easeOut, 600, 300, 1.2, true);
mask_mc.vartween3 = new Tween(mask_mc, "_width", Elastic.easeOut, 600, 300, 1.2, true);
perebor = setInterval(perebork, Start);
}
|
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Хм,а так ведь вообще функция не вызывается
|
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Ну значит и clearInterval(perebor); у вас не вызывается.
|
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Obi Вы,в вашем примере засовываете вызов интервала в тело функции,то как она вызовется,я конечно могу написать perebork(),но тогда вообще какойто дергунчик начинается
Хорошо,тогда так.Вот пример во флешке под названием index жмем на черный прямоугольник,грузиться флешка txt,она проигралась,жмем ещё раз на черный прямоугольник,txt.swf проигрывается быстрее,можно ещё разочек нажать, - ещё быстрее так,оказывается,эта проблема,не только в моих swf,я пробовал загружать и чужие swf,содержащие setInterval,(пример)та же история,при повторном просмотре,частота увеличивается.Что это за баг такой?ъ так и что же мне делать? Я уже и так за этот вопрос пострадал,причем дважды. Что-то этот setInterval не взлюбил меня Последний раз редактировалось scarbo; 24.09.2008 в 20:27. Причина: боязнь iNilsa |
|
|||||
|
Ё мое, что тут непонятного? Каждым жмяканьем кнопки ты создаешь еще один интервал, неудалив старый. Интервал то это ведь Number, так что и clearInterval удалит только последний созданный, а предыдущий останется работать. Т.е. если ты сделаешь:
__________________
Убейте меня! |
|
|||||
function perebork() {
clearInterval(perebor);
pereborka.vartween = new Tween(pereborka, "_xscale", Elastic.easeOut, 0, 100, 1.2, true);
pereborka._visible = true;
diman_txt.vartween2 = new Tween(diman_txt, "_width", Elastic.easeOut, 600, 300, 1.2, true);
mask_mc.vartween3 = new Tween(mask_mc, "_width", Elastic.easeOut, 600, 300, 1.2, true);
perebor = setInterval(perebork, Start);
}
ппц вы читать умеете ? у человека функция выглядет так: тоесть перед созданием, удаляется предидущий интервал
__________________
на каком языке вы пишите? а на каком нужно? |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|