![]() |
MC: ссылка на себя. Правильно-ли?
Привет!
В мувике создаю ссылку на самого себя: Код AS1/AS2:
В целом, приём пока работает. Но решил спросить у людей, имеющих опыт побогаче моего:
Что более правильнее: Код AS1/AS2:
Код AS1/AS2:
Код AS1/AS2:
Спасибо! |
Вы все делаете нормально.
А тип данных, конечно же, лучше объявлять. |
Для чего в самом себе делать ссылку на самого себя?
|
Тож интересно.. nj_nooler вам для чего?
|
Иногда бывает надо.
Например, бывают функции, в которых если употребить this, то ссылка будет не на текущий объект, где написан код. А обратиться нужно. Добавлено через 10 минут Вот пример: Код AS1/AS2:
|
Я так понял, что автор на классах пишет. Если это так, то способ не верный. Нужно вызывать метод в верной области видимости с помощью делегата.
upd: иначе непонятно зачем это надо. |
1. Нет;
2. Сжирает память, нечитабельный код; 3. В данном случае это не принципиально ввиду п. 1; 4. Delegate. |
Код AS1/AS2:
|
mooncar, спасибо за точный и втемный ответ
Цитата:
Цитата:
остальные пункты ответа проигнорены ввиду их несоответствия действительности :) Цитата:
Цитата:
всем ответившим спасибо! |
Цитата:
|
Цитата:
|
Цитата:
var linkToHead:MovieClip = this; По поводу памяти - есть какой-нить обосновательный скриншот, показывающий ацкую загрузку памяти и, как следствие, переубеждающий меня именно из-за этого не использовать сею технику? Тема была создана, чтоб получить много разных мнений, расставить точки над j и поразмышлять-подискутировать на тему, не более. Чем мы, собсно, и занимаемся ;) Цитата:
Тут опять-таки, общение в пластмассе придало суровую окраску моему ответу Вам. Имелось в виду, что вот не спишь ты двое суток, пишешь/кофеинишь/куришь, взъерошиваешь на голове волосы и не успеваешь. Заходишь на форум, чтоб спросить что-то важное для тебя. Пишешь фразу "...делаю это для...", а человек (вероятно тоже сутками копающийся в коде:)) отвечает " а зачем Вы это делаете?". Сразу напрашивается вывод, что человек невнимательно отнёсся к реквесту "о, мол, ща читнём, чё тут ?" и, после прочтения темы по диагонали - ну сразу-же отвечать. Это имелось в виду. А не "братан, ты меня не уважаешь шоле?" В целом, против ответов я ничего не имею)) Просто иногда грустновато, что модеры плюсуют за неоформленный код, а за мессаги, отвеченные не в контексте нет. В целом, резюмирую, для себя я сделал вывод (на основании практики + ответов в ветке), что линк - это удобно и правильно. Пока фактов обратной/негативной стороны не предоставлено, я, как и любой другой человек, не спешу вестись на просто слова. |
Гораздо проще находиться всегда в одной и той же области видимости, не заморачиваясь со левыми ссылками на самого себя и не убивая память вложенными функциями (засорение памяти не означает её переполнение, просто отлаживать подобный код в случае неработоспособности крайне тяжело). Т. к. код вы пишете в кадрах, то адекватным вариантом будет следующее:
Код AS1/AS2:
|
etc, и всё-таки, пожалуйста, напиши хотя-бы кратенький примерчик применения Delegate в данном случае ("для удобства обращения").
Добавлено через 39 секунд упс, одновременно ответили :) Добавлено через 3 минуты А, имелось в виду жор памяти вложенными функциями. Да, об этом читал. Но в открывающем ветку посте я имел в виду использование не только во вложенных функциях. Спасибо за пример, полезно! |
Я отредактировал слегка пост.
|
Цитата:
|
Цитата:
Именно поэтому я попросил подтверждение "просто словам", а не потому, что мне 30 и я дерзкий тип ) И перестаньте меня провоцировать так-же болезненно реагировать на Ваши ответы, как Вы - на мои !)))))))) Да, и ещё - что значат квадратные скобки в трейсе? Впервые встретил :cool: |
Цитата:
|
спасибо! намного облегчилась моя трассировка! :)
|
| Часовой пояс GMT +4, время: 18:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.