silin
Спасибо. Действительно цикл не останавливался. Все сделал как ты сказал. Теперь останавливается.
В связи с этим хотел еще спросить.
clearInterval, как я понял, не трэйсится. Как правильно проверять его остановку? Я вставлял в функцию, которую запускал
setInterval, какой-нибудь трэйс(trace("work"), напр.) и смотрел когда функция работает, а когда нет. Еще есть какие-нибудь способы?
Далее. Насчет ускорения я тоже разобрался. Прежде всего почитал в help flash 8 про оператор
delete. Вот, что там написано(относительно моего случая):
You cannot delete predefined objects and properties, and
you cannot delete variables that are declared within a function with the var statement. You cannot use the delete operator to remove movie clips.
Ну а я удалял листенеры, которые были определены внутри функции(
onLoad). Они, естественно, не удалялись. И при повторном запуске функции scrollF появлялись новые объекты, слушающие события кнопок и мыши и работали эти объекты все вместе. Т.е. один раз жму на кнопку, события слушает уже, напр. 3 объекта и каждый из них срабатывает.
Когда я это понял, то сразу нашел и использовал метод
removeListener. Еще раз проверил трэйсами, вставленными в функции
keyLs.onKeyDown и
mouseListener.onMouseWheel. Все нормально.
test.rar
Приложил к посту исправленный код. Погляди, если будет желание, может какие еще недочеты есть.
ps. Еще раз спасибо за отклик.
