![]() |
Тело пишу под FrameRate, предварительно насовав кучу
boolean или int - функций среди var-ов. Само собой иногда приходится делать removeListener. |
я пишу третим способом
|
В первых двух случаях будет очень проблематично сделать removeEventListener. Выбор в пользу третьего варианта очевиден.
|
Цитата:
В языке си это обязательный параметр синтаксиса. ActionScript же куда более "лоялен" и подобное прощает. |
Я чаще делаю функции-хендлеры не private, а protected. Правда, в зависимости от случая.
Стиль названия - clickHandler или someObjectClickHandler (если не к this). Третий способ. |
Цитата:
|
Код AS3:
Я где-то прочитал, что если вызывать подобную конструкцию, то при каждом запуске события функция и все её содержимое создается заново, а предыдущая её версия не удаляется. Правда ли это? |
Цитата:
А имя конструктора в си-подобных синтаксисах всегда такое же, как и имя класса - и только этого с лихвой хватает, чтобы не спутать конструктор ни с чем другим (к тому же можно смотреть так: ф-я, начинающаяся в большой буквы и есть конструктор). Ведь нельзя читать-воспринимать код класса вне его контекста. З.Ы. А в Delphi, например, конструктор определяется словам constructor. Цитата:
Детальнее: сам код/значение вычищается из памяти, когда на на него никто больше не ссылается. Грубо говоря, в данном примере на него ссылается EventListener. Когда он перестанет ссылаться, код удалится из памяти. Но чтобы он перестал ссылаться - нужно сделать removeEventListener. В этом примере вам это не удастся. Нужно иметь ссылки на ф-ю, которуй вы удаляете из EventListener. А ссылка эта в примере не сохраняется ни в какую переменную - она генерируется "на лету" и сразу в стек параметров. Поэтому вы не сможете ее узнать. Вот иной вариант: Код AS3:
|
что-то тема анонимных функция часто плавает последних 2 недели...
http://www.flasher.ru/forum/showpost...77&postcount=7 http://www.flasher.ru/forum/showpost...4&postcount=19 |
У меня вопрос.
Просто к слову, почти оффтоп: Код AS3:
А то у меня чувство, что я не до конца разобрался с т.н. Event flow'ом... |
| Часовой пояс GMT +4, время: 14:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.