![]() |
Скроллер ускоряется не понятно почему.
Вложений: 1
При многократном открытии скроллера( зашел в скроллер - вышел, зашел - вышел) ускоряются все процессы связанные с прокруткой: прокрутка кнопками ускоряется, мышью тоже. А по задумке не должно быть такого. Может поглядите fla и скажете свои соображения?
Вложение 14808 К посту приложил файл в раре. В нем fla, swf, txt, html. Вобщем все, что может понадобится чтобы понять проблему. Версия флэш - 8. Работает так. Открываете. Перед вами пустое поле с кнопкой text. Щелкаете по нему. Появляется скроллер( поле с текстом). Доступна прокрутка мышью и кнопками вверх/вниз на клаве. Покрутите. Посмотрите скорость в первое открытие. Затем щелкните по кнопке back. Скроллер пропадет. Повторите все это раз 10. Посмотрите как изменилась скорость скролла как мышью, так и кнопками. Даже не знаю, что делать. :( В коде в fla я постарался все подробно расписать, что происходит, какая строка что делает. |
интервал /clearInterval(scrollFs)/ не очищается потому как scrollFs не видна из sc.butBck.onPress
определи scrollFs чтоб видно было и другим, типа Код:
var scrollFs;//будет видна и в др. функуциях |
Вложений: 1
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. Все нормально. Вложение 14840 Приложил к посту исправленный код. Погляди, если будет желание, может какие еще недочеты есть. ps. Еще раз спасибо за отклик. :) |
| Часовой пояс GMT +4, время: 12:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.