PDA

Просмотр полной версии : Самопроизвольное замедление клипа


zelik
14.06.2009, 18:13
Добрый день!

Делаю перемещие программно созданного клипа (к котором находиться много текстовых полей)


function goNext(container:MovieClip) {
container.onEnterFrame = function() {

if (container.container0._y>-container.container0._height) {
container.container0._y -= 1;
} else {
delete container.onEnterFrame;
container.container0._y = container.container0.dy;
goNext(container);
}
};
}

первые несколько секунд все идет как надо.
А потом вдруг движение замедляется в 1,5-2 раза.
А под конец (последние несколько секунд) опять движется как надо.

Пожалуйста, подскажите, в чем может быть проблема?

Спасибо!

mooncar
14.06.2009, 20:06
Вот это для чего у вас?
goNext(container);

zelik
14.06.2009, 22:14
это, чтобы сделать рекурсию. Но, честно говоря, и без этого притормаживает...

Алиль
14.06.2009, 23:50
Может в знаках дело?

zelik
14.06.2009, 23:52
в каких знаках? поясните, пожалуйста!

mooncar
15.06.2009, 00:40
Перепишите функцию - уберите рекурсию, поставьте вместо EnterFrame интервальную функцию...

zelik
15.06.2009, 00:54
Вы это имеете ввиду?

var interv:Number;
interv = setInterval(this,"go",50,Big_Text);

function go(container:MovieClip) {

if (container.container0._y>-container.container0._height) {
container.container0._y -= 1;
} else {
clearInterval(interv);
}
}

Результат тот же...

После тестирования заметил, что торможение начинается, если в клипе многовато текстовых полей (более 300 TextField)

mooncar
15.06.2009, 01:02
Что-то у вас их действительно "многовато"...

Nirth
15.06.2009, 01:04
textField.cacheAsBitmap

zelik
15.06.2009, 01:12
Супер! То, что нужно! Большое спасибо!!!