Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   тормоза при скроллинге (http://www.flasher.ru/forum/showthread.php?t=36664)

MainD 03.09.2002 19:16

тормоза при скроллинге
 
есть некий скриптец, который аттачит клипы из библитеки в _root.
есть скроллер, который при наведении, циклом перебирает все зааттаченные клипы и изменяет им координату на единицу.

соль в том, что когда клипов становится прилично ( скажем, штук сорок) такой вариант начинает тормозить.

а предполагается ещё большее количество клипов.
как избавиться от торможения?

Nox Noctis 03.09.2002 19:45

убрать цикл и поставить сдвиг в ентерФрейм клипов...
по крайней мере это начнет тормозить только при значительно большем количестве клипов :)
то есть в каждый клип положить на онЕнтерФрейм что-нить вроде "иф (где_то_там.флажок) {координата++}"

несмотря на то, что вместо одного ифа получится туева хуча ифов - при большом количестве мувов работать будет быстрее, т.к. цикл стопорит плеер по определению

...ну или оптимизировать саму систему: складывать все клипы внутрь одного общего, и сдвигать этот общий...

MainD 03.09.2002 19:57

Цитата:

...ну или оптимизировать саму систему: складывать все клипы внутрь одного общего, и сдвигать этот общий...
делал вот что:
передвигал рут (но это глупо), передвигал _level - ненамного быстрее.
с циклом щаз попробую што нить сделать, но есть мысль:

а можно ли все клипы сводить (что-то типа break apart) в одну картинку (или один мувик) с помощью скрипта?
это должно дико увеличивать скорость.
как разница, если двигать не 40 клипов, а один , но чуть больше....



Nox Noctis 03.09.2002 20:02

динамического брейк апарта нету :)

...но я все равно не понимаю, что тебе мешает сделать один пустой мувик, в него, а не в рут, зааттачить всю эту груду клипов и его уже сдвигать относительно рута ?

MainD 03.09.2002 20:06

кроме того, как динамически зааттачиваемым клипам задать onEnterFrame?

ёпт. прошу прощения - туплю....

Nox Noctis 03.09.2002 20:14

если в пятерке -

сделай пустой клип, на нем напиши
Код:

onClipEvent (enterFrame) {
        tellTarget (_parent) {
                /*
                а дальше пишешь как если бы
                это были события внешнего клипа
                */
        }
}

...и положи этот клип с кодом внутрь приаттачиваемого

для МХ и того проще - присваиваешь onEnterFrame и все :)

зы: не успел заметить последней фразы предыдущего сообщения :)

MainD 03.09.2002 21:10

одним словом результат есть, но он неутешительный:

-- вариант с динамическим присваиванием onEnterFrame каждому клипу - ещё медленнее, чем двигать _level.
(надо полагать, что все эти клипы как птенцы просят у мамки, какой у неё флаг и причём одновременно....
представляешь какой там внутри гомон ;)) ??


-- вариант с createEmptyMovieClip и засовывание туда всего барахла и присваивание onEnterMovieClip этому пустому клипу и двигать его - тоже самое, что и двигать _level.

вот это действо: http://forum.barboze.spb.ru/test/index2.html


одним словом раскрою карты : это flash клиент к моему форуму. сервак мной написан на php.
пока дышит - но надо было на java...
http://forum.barboze.spb.ru - это тоже клиент но на php.
обсчаюцца сокетами.
если интересно и есть желание помочь решить эту проблему - говори вышлю сурс. твоё имя будет на почётном месте ;))


Часовой пояс GMT +4, время: 01:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.