Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.10.2010, 15:10
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 1  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
По умолчанию слушатель и ф-ция

Всем привет.

Есть ли какая-то разница между назначением слушателя так
Код:
addEventListener(Event.ENTER_FRAME, function (e){
     //function body
});
и так
Код:
addEventListener(Event.ENTER_FRAME, step);
.....
function step(e){
     //function body
}
для компилятора?

У меня есть пример кода, использующий один из физ. движков. Так вот, при назначении слушателя первым способом все работает, а если назначить вторым - флеш зависает, приходится принудительно прекращать его работу. То же творится с standalone. Ошибки если и выдает, то прочитать не могу, т.к. не могу завершить выполнение флешки и оставить работающим flash ide.

Подчеркну суть вопроса: какая разница для компилятора /интерпретатора между первым и вторым способом?
__________________
Платон мне друг, но истина в вине.

Старый 07.10.2010, 15:15
arkadattx вне форума Посмотреть профиль Отправить личное сообщение для arkadattx Найти все сообщения от arkadattx
  № 2  
Ответить с цитированием
arkadattx

Регистрация: Apr 2010
Сообщений: 219
Разница в том, что в 1м случае вы не сможете отписаться от слушателя, т.к. у функции нет имени. Вообще использование вложенных функций не есть гуд, т.к. они не вычищаются из памяти.

Старый 07.10.2010, 15:21
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 3  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Много в чем ещё разница, видимость переменных в первом и втором случае разная например. Думаю поэтому собсно заметно по-разному работают.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 07.10.2010, 15:24
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 4  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
arkadattx
прекрасно понимаю насчет не есть гуд. )
Но Вы говорите про разницу для разработчика, который в первом случае не сможет отписаться. Я спрашиваю про разницу для компилятора, который в первом случае выполняет код, а во втором - нет.

-De-
а еще? ) Переменные никакие не объявляю, зависание происходит при обращении к экземпляру класса физ. движка.
__________________
Платон мне друг, но истина в вине.


Последний раз редактировалось sinya; 07.10.2010 в 15:29.
Старый 07.10.2010, 15:26
arkadattx вне форума Посмотреть профиль Отправить личное сообщение для arkadattx Найти все сообщения от arkadattx
  № 5  
Ответить с цитированием
arkadattx

Регистрация: Apr 2010
Сообщений: 219
Не зная кода сложно говорить о чем-то. Но сам факт того что с "не есть гуд" вариантом работает - говорит ИМХО не в пользу разработчика.
Что до компиллятора - не знаю что и как преобразует, в разницу в байткоде тоже не вникал.

Старый 07.10.2010, 15:31
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Дело не в "не обьявляю", а "не использую". Ну и да, без примера это гадание.
Напишите там на каждой строчке трейс, "дошло до такой-то строки, переменные такие-то" к примеру и уже загадочность уменьшится.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 07.10.2010 в 15:37.
Старый 07.10.2010, 15:36
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 7  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
отписаться можно, но ток внутри самой функции, ну или по ссылке какой нить если передать значения, в общем лучше стараться не пользоваться подобной конструкцией
__________________
Коллекционирую чужие ActionScript Блоги

Старый 07.10.2010, 17:04
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 8  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
http://www.flasher.ru/forum/showpost...51&postcount=6
__________________
ranga

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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