Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   обфускация swf Encrypt (http://www.flasher.ru/forum/showthread.php?t=146016)

leofit 28.10.2010 13:42

Цитата:

Сообщение от arkadattx (Сообщение 945973)
если писать removeChild(this) - ругается
а вот если
Код AS3:

parent.removeChild(this);

то не ругается

Вроде все очевидно

arkadattx 28.10.2010 13:49

leofit, и что очевидно?

Bgg 28.10.2010 13:55

Очевидно, что объект себя из себя удалить не может.

leofit 28.10.2010 13:57

removeChild() удаляет ребенка, а не себя, что видно из названия метода
вот пруф


Код AS3:

если писать removeChild(this) - ругается
а вот если
parent.removeChild(this); то не ругается

Очевидно, что надо использовать второй вариант, что б не ругался

arkadattx 28.10.2010 14:00

Хорошо, а как тогда правильно ребенку самоудалиться?

leofit 28.10.2010 14:05

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

arkadattx 28.10.2010 14:08

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

leofit 28.10.2010 14:19

Концептуально да, но зависит от ситуации
Если у Вас например, игра, где есть собаковод и собака, то логичнее, когда собаку сбивает машина, отправить событие собаководу, что бы он ( уменьшил число собак, вывел окошко с сообщением, ....)
А если У Вас, например, в случайный момент времени, во время прогулки собаководом собак, по небу пролетает тучка, то диспатчить событие, ловить его, писать код для удаления будет пустой тратой времени, проще родителя дернуть и удалить тучку. ОПЯТЬ ЖЕ: Если Вы планируете, что тучка пролетит всего один раз за время жизни приложения, то лучше отправить событие, и в родителе занулить объект, в общем как то так

arkadattx 28.10.2010 14:22

основную мысл понял, спасибо

Mur4ik 28.10.2010 17:57

Цитата:

Ребёнок не должен командовать родителем - это вполне обосновано. Максимум - что-то у него спросить (parent.x).
Разве кто-то утверждал обратное? Если ты не понял, то именно на это уточнение я и намекнул тебе.
Согласись это куда информативнее для человека чем просто "использовать parent - дурной тон". ;)

Psycho Tiger 28.10.2010 19:03

Цитата:

Сообщение от Mur4ik (Сообщение 946095)
Разве кто-то утверждал обратное? Если ты не понял, то именно на это уточнение я и намекнул тебе.
Согласись это куда информативнее для человека чем просто "использовать parent - дурной тон". ;)

Я с этим и не спорил. Как только ты сказал про то что об управлении не идёт речи - я заткнулся сразу же. Я думал мы сейчас дебатируем о removeChild, что есть управление, нет?

Mur4ik 28.10.2010 19:20

Цитата:

Сообщение от Psycho Tiger (Сообщение 946119)
Я думал мы сейчас дебатируем о removeChild, что есть управление, нет?

Ну эт смотря с какой стороны смотреть и опять же в свете какого контекста.

Например можно это расценивать не как управление родителем, а как управление самим собой. И если родителю пофик что из него кто там решил удалиться, он не подписывал ребенка ни на какие события, не имеет явных ссылок и т.д. и т.п., то ничего плохого в такой конструкции не вижу. О таких конструкциях просто нужно знать. Другое дело что можно сделать это правильней и применять там где уместно, но не об этом ведь сейчас.

arkadattx 28.10.2010 20:41

А какая к примеру может быть ситуация, что ребенок должен знать координаты родителя? Почему родитель не может сказать ребенку: у меня такие-то координаты, делай то-то?

cleptoman 28.10.2010 22:26

ребенок спросит - родитель скажет

Psycho Tiger 29.10.2010 13:21

Цитата:

А какая к примеру может быть ситуация, что ребенок должен знать координаты родителя? Почему родитель не может сказать ребенку: у меня такие-то координаты, делай то-то?
Всякое в жизни бывает )
По моему мнению ребёнок всё таки должен спросить у родителя, а он скажет, а не монопольно брать у него. Однако против "просто взять, но ничего не делать" не могу иметь ничего против, но я так делать всё равно не буду.


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

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