Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   обращение сразу ко всем экземплярам определенного класса (http://www.flasher.ru/forum/showthread.php?t=145685)

passertm 18.10.2010 14:21

Цитата:

Сообщение от alatar (Сообщение 943495)
Перебор будет проще в весьма ограниченном колличестве случаев (когда нужные объекты преобладают над остальными), в остальном такая реализация будет более затратна для ресурсов (представьте, что у вас на сцене есть система чатиц и ваш алгоритм перебора натыкается на нее).

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

Цитата:

Сообщение от alatar (Сообщение 943495)
Это уже будет кривизна конкретной реализации,

ну да. но именно этот метод предложил товарисч подумав что этого достаточно. и прочитав я тоже решил было что этого достаточно(до меня поздно доходит:quiet:) и того 2 программиста которые пытаясь реализовать этот "простенкий" код заработали бы себе хорошую головную боль(молчу про автора статьи который получил совет сделать это так). именно поэтому я и сказал что не хочу показать код сложнее чем есть. но всеровно это(т.е. любой код которому нужно бывает работать в течении долгого времени) сложнее чем код который запускается выполняется и заканччивается ибо в случаях проблем такие коды намного проше отладить.

я повторюсь я не говорю что ваш метод плох. и есть много случаях когда я бы использовал и его. просто мое сугубое личное мнение(с языков в которых подобная реализация не так проста) что с подобными кодами лучше быть осторожнее)

i.o. 18.10.2010 16:06

Форум не без людей, которые пишут ООП ради ООП, даже если тем, что они пишут, нужно воспользоваться один раз.

Добавлено через 21 минуту
Да и вообще весь спор глупый. Автор не уточнил ситуацию.
Что из себя представляет сцена?
Добавлена ли она на стейдж?
Как часто он собирается проходить по всем объектам определенного класса?
Что из себя представляет определенный класс? Может это обычные Sprite, Shape, MovieClip и Bitmap. Тогда вы предлагаете контейнеру-сцене подписываться на фазу захвата для событий ADDED / REMOVED, чтобы добавить / удалить объект из списка?
Если определенных классов используется несколько, то на каждый вести список?
Поэтому, прежде чем отстаивать ту или иную точку зрения, нужно вначале выяснить все детали ситуации, а потом уже решать, что оптимальнее всего подходит.

alatar 18.10.2010 16:29

Цитата:

Сообщение от passertm (Сообщение 943511)
...и того 2 программиста которые пытаясь реализовать этот "простенкий" код заработали бы себе хорошую головную боль

Эти же 2 программиста заработают себе головную боль и при рекурсивном переборе объектов.
Цитата:

но всеровно это(т.е. любой код которому нужно бывает работать в течении долгого времени) сложнее чем код который запускается выполняется и заканччивается ибо в случаях проблем такие коды намного проше отладить.
"Это" даже проще в реализации, чем перебор всего и вся. В отладке тоже проще.

i.o. 18.10.2010 16:30

Цитата:

Эти же 2 программиста заработают себе головную боль и при рекурсивном переборе объектов.
Приведите пример этой самой головной боли

alatar 18.10.2010 16:31

i.o., согласен, уже пошла сплошная демагогия :)

i.o. 18.10.2010 16:32

я тоже согласен, но вы меня задели за живое - приведите пример головной боли))

passertm 18.10.2010 16:34

Цитата:

Сообщение от i.o. (Сообщение 943531)
нужно вначале выяснить все детали ситуации, а потом уже решать, что оптимальнее всего подходит.

+1


любопытно. для обьектов которые были добавлены в гуях влеша а не программным путем вызываются событий ADDED

Котяра 18.10.2010 16:52

Топикстартер сделал вброс и пропал)
Давайте может закругляться? По вопросу более-менее ответили..

alatar 18.10.2010 16:52

Цитата:

Приведите пример этой самой головной боли
Объекты есть, они лежат в контейнере, но контейнер не добавлен в список отображения. Итого, они не обработаны.
Встречный вопрос, какова головная боль при добавлении / удалении объектов в статический список, с последующей обработкой или обработкой в процессе добавления / удаления?

i.o. 18.10.2010 16:55

Цитата:

Объекты есть, они лежат в контейнере, но контейнер не добавлен в список отображения. Итого, они не обработаны.
И как это может отразиться на ф-ции перебора?? Она все равно пройдется по всем детям и детям детей (если модифицировать в рекурсивную).
Зато в конкурирующем примере, где слушается ADDED_TO_STAGE / REMOVED_FROM_STAGE, получится:
Цитата:

Итого, они не обработаны
Цитата:

Встречный вопрос, какова головная боль при добавлении / удалении объектов в статический список, с последующей обработкой или обработкой в процессе добавления / удаления?
Усложнение разработки / кода. В то время как я предлагаю одну единственную функцию, не зависящую от проекта вообще.

В общем спорить бесполезно о том какая реализация лучше - читай выше.


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

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