Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Когда надо использовать _root (http://www.flasher.ru/forum/showthread.php?t=104754)

chingachgoog 02.12.2007 20:07

Цитата:

Сообщение от iNils
О, круто! Только все уже давно делают пустые контейнеры и не пишут код на клипах и в кадрах.

Почему круто? Как раз не круто и не модно - модно убить 5 минут на описание того, что руками делать 5 секунд.

Цитата:

Сообщение от iNils
Я выше описал, когда нужен рут, а все остальные случаи и _loсkroot являются попыткой оправдать свои огрехи.

ООП - это как раз и есть частный случай, а реальных случаев, когда проще использовать _root гораздо больше.

iNils 02.12.2007 20:17

chingachgoog, если вы работает с баннерами или вы хотите ориентироваться на уровень начинающих это ваши проблемы, остальные уже из этого вышли.
И время от времени мне попадаются задачи "там все уже сделано, нужно только прикрутить к движку". А потом выясняется, что везде стоял _root, и где надо и где не надо, а что бы поправить надо облазить 100 клипов.
Я флешом начал заниматься с 4-ой версии, когда код писали на клипах, а классов не было и в помине, и знаю о чем говорю, так как прошел все стадии его развития.

chingachgoog 02.12.2007 21:14

Цитата:

Сообщение от iNils
chingachgoog, если вы работает с баннерами или вы хотите ориентироваться на уровень начинающих это ваши проблемы, остальные уже из этого вышли.

Да мне все равно, что "круто", а что "уровень начинающего". Если для конкретной задачи требуется написать this._parent._parent._parent или просто _root, то я выберу то, что быстрее, а не то что круче.

Цитата:

Сообщение от iNils
И время от времени мне попадаются задачи "там все уже сделано, нужно только прикрутить к движку". А потом выясняется, что везде стоял _root, и где надо и где не надо

Почему где "не надо"? Все же работало? А то, что клиент потом захотел сделать - его проблемы (скорее всего просто не дал времени на начальный проект достаточного)

Цитата:

Сообщение от iNils
а что бы поправить надо облазить 100 клипов.

Так за то деньги и платят. А что, автор должен был облегчить жизнь iNils и усложнить себе? :-)

DarkLight 02.12.2007 21:23

Цитата:

Сообщение от chingachgoog
Так за то деньги и платят. А что, автор должен был облегчить жизнь iNils и усложнить себе? :-)

За прикрутку платят мало, т к при нормально написанном коде трудозатраты действительно малы. А реально получается много работы. И поверьте, каждый раз прописывать полный путь - себе же хуже.

etc 02.12.2007 21:25

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

iNils 02.12.2007 21:34

Цитата:

Сообщение от chingachgoog
Да мне все равно, что "круто", а что "уровень начинающего". Если для конкретной задачи требуется написать this._parent._parent._parent или просто _root, то я выберу то, что быстрее, а не то что круче.

Есть правильно и не правильно, вы пишите не правильно. Это ваше личное дело, до тех пор, пока вы не начинаете учить этому других.

†‡Paladin‡† 02.12.2007 21:36

Цитата:

Сообщение от DarkLight
За прикрутку платят мало, т к при нормально написанном коде трудозатраты действительно малы. А реально получается много работы. И поверьте, каждый раз прописывать полный путь - себе же хуже.

В твоих силах отказаться от работы или нахначить свою цену.
Рут действительно ненужен.

chingachgoog 02.12.2007 21:43

Цитата:

Сообщение от iNils
Есть правильно и не правильно, вы пишите не правильно. Это ваше личное дело, до тех пор, пока вы не начинаете учить этому других.

_root и onClipEvent есть в Action Script? Есть.
Вот собственно и весь вопрос: что это такое и как пользоваться. Ответ "не нужны и точка" и "это не круто" - на мой взляд как раз не годятся для обучения других.

DarkLight 02.12.2007 21:46

Цитата:

Сообщение от †‡Paladin‡†
В твоих силах отказаться от работы или нахначить свою цену.

Собственно, я такой работой уже давно и не занимаюсь:)

iNils 02.12.2007 22:17

Цитата:

Сообщение от chingachgoog
_root и onClipEvent есть в Action Script? Есть.
Вот собственно и весь вопрос: что это такое и как пользоваться. Ответ "не нужны и точка" и "это не круто" - на мой взляд как раз не годятся для обучения других.

Лишь для обратной совместимости. И вы занимаетеь подлогом, я ни где не писал слово круто, это вы придумали, чтобы оправдать свою теорию. Я говорил о "правильно" и "неправильно". Все, остальное отговорки. Либо вы профессионал и учите писать других правильно, либо вы любитель и оказываете другим медвежью услугу своими быстрыми способами. Потому что, потом, воспользовавшись вашим советом, кто то не сможет сделать работу, из-за того, что этот способ учитывал только текущую задачу и он потратит в 3-4 раза больше времени на выяснение причин, чем на написание правильного кода сразу.
Не верите? Каждый день приходят люди с "быстрыми" исходниками и просят помочь разобраться, почему они не работают, когда меняют уровень вложенности. Или когда они пишут на куждую кнопку свой код и при нахождении ошибки, они опять ходят по всем своим 100 кнопкам, и правят там код, а потом еще раз. И все потому, что быстрее было написать код на клипе.

Цитата:

Сообщение от †‡Paladin‡†
В твоих силах отказаться от работы или нахначить свою цену.

Случай: я писал оболочку, которая подгружала модули, а их писали сторонние разработчики. Я свою часть закончил и отдал заказчику. Он запускает у себя и часть подгружаемых модулей не работает. B он сразу ко мне, раз модули сами по себе работаю, значит виноват я.
То есть, я работу уже сделал, но деньги не могу полчить, так вроде моя часть не работает.
А причина была в том, что разработчики использовал _root (им так было проще и быстрее писать). Мы с этим разобрались и стали использовать _lockroot. Но тут вылезает другая проблема. Оболочка использовала конвейер, который позволял выполнять различные действия одного за другим, согласно задайной последовательности. Эта последовательность легко править и она довольно гибкая, что помогает существенно сократить время на кодирование (соответсвенно и оплата была заложена исходя из этого). Конвейер вызывал методы объектов через apply (так как конвейр описывается до запуска, многие объекты еще не созданы и дать ссылку на их методы невозможно. Кстати в классе Tween, свойства для твина задаются стрингом по этой причине, но в отличие от свойств, в методы надо передавать произовльное количество аргументов), но при _lockroot и попытки выгрузить содержимое клипа, флеш воспринимал unloadMovie, как глобальную функцию, а не метод класса MovieClip и в результате выгружал абсолютно все.
В результате, было потрачено гораздо больше времени, чем планировалось.


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

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