Просмотр полной версии : тормоза при скроллинге
есть некий скриптец, который аттачит клипы из библитеки в _root.
есть скроллер, который при наведении, циклом перебирает все зааттаченные клипы и изменяет им координату на единицу.
соль в том, что когда клипов становится прилично ( скажем, штук сорок) такой вариант начинает тормозить.
а предполагается ещё большее количество клипов.
как избавиться от торможения?
Nox Noctis
03.09.2002, 19:45
убрать цикл и поставить сдвиг в ентерФрейм клипов...
по крайней мере это начнет тормозить только при значительно большем количестве клипов :)
то есть в каждый клип положить на онЕнтерФрейм что-нить вроде "иф (где_то_там.флажок) {координата++}"
несмотря на то, что вместо одного ифа получится туева хуча ифов - при большом количестве мувов работать будет быстрее, т.к. цикл стопорит плеер по определению
...ну или оптимизировать саму систему: складывать все клипы внутрь одного общего, и сдвигать этот общий...
...ну или оптимизировать саму систему: складывать все клипы внутрь одного общего, и сдвигать этот общий...
делал вот что:
передвигал рут (но это глупо), передвигал _level - ненамного быстрее.
с циклом щаз попробую што нить сделать, но есть мысль:
а можно ли все клипы сводить (что-то типа break apart) в одну картинку (или один мувик) с помощью скрипта?
это должно дико увеличивать скорость.
как разница, если двигать не 40 клипов, а один , но чуть больше....
Nox Noctis
03.09.2002, 20:02
динамического брейк апарта нету :)
...но я все равно не понимаю, что тебе мешает сделать один пустой мувик, в него, а не в рут, зааттачить всю эту груду клипов и его уже сдвигать относительно рута ?
кроме того, как динамически зааттачиваемым клипам задать onEnterFrame?
ёпт. прошу прощения - туплю....
Nox Noctis
03.09.2002, 20:14
если в пятерке -
сделай пустой клип, на нем напиши
onClipEvent (enterFrame) {
tellTarget (_parent) {
/*
а дальше пишешь как если бы
это были события внешнего клипа
*/
}
}
...и положи этот клип с кодом внутрь приаттачиваемого
для МХ и того проще - присваиваешь onEnterFrame и все :)
зы: не успел заметить последней фразы предыдущего сообщения :)
одним словом результат есть, но он неутешительный:
-- вариант с динамическим присваиванием onEnterFrame каждому клипу - ещё медленнее, чем двигать _level.
(надо полагать, что все эти клипы как птенцы просят у мамки, какой у неё флаг и причём одновременно....
представляешь какой там внутри гомон ;)) ??
-- вариант с createEmptyMovieClip и засовывание туда всего барахла и присваивание onEnterMovieClip этому пустому клипу и двигать его - тоже самое, что и двигать _level.
вот это действо: http://forum.barboze.spb.ru/test/index2.html
одним словом раскрою карты : это flash клиент к моему форуму. сервак мной написан на php.
пока дышит - но надо было на java...
http://forum.barboze.spb.ru - это тоже клиент но на php.
обсчаюцца сокетами.
если интересно и есть желание помочь решить эту проблему - говори вышлю сурс. твоё имя будет на почётном месте ;))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.