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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.05.2013, 18:42
GuitarFan вне форума Посмотреть профиль Отправить личное сообщение для GuitarFan Найти все сообщения от GuitarFan
  № 1  
Ответить с цитированием
GuitarFan

Регистрация: May 2013
Сообщений: 22
По умолчанию addEventListener. Зачем в параметрах функции писать event:MouseEvent?

Код AS3:
equals_btn.addEventListener(MouseEvent.CLICK, equClick);
 
function plusClick(event:MouseEvent):void
Зачем в параметрах функции plusClick писать event:MouseEvent?
В функцию разве что-то должно передаваться? Без этого никак?

Старый 21.05.2013, 18:43
ProcXel.A вне форума Посмотреть профиль Найти все сообщения от ProcXel.A
  № 2  
Ответить с цитированием
ProcXel.A
Banned
[+1 27.05.13]

Регистрация: May 2013
Сообщений: 60
В функцию передается событие MouseEvent.CLICK. Ты, видимо, хочешь свою функцию еще и сам вызывать, да? Тогда пиши
Код AS3:
function plusClick(event:MouseEvent = null):void
И сможешь вызывать просто как plusClick(). Но смотри, чтобы само событие внутри функции в таком случае не использовалось.

Старый 21.05.2013, 19:12
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
В функцию разве что-то должно передаваться? Без этого никак?
Возможно это будет для вас как снег на голову, но это называется параметр функции. А то, что в нее по факту передалось, называется аргументами.
Цитата:
И сможешь вызывать просто как plusClick().
Не обязательно делать параметр опциональным. Можно и вот так вызвать
plusClick(null);

п.с. Навзвание темы не отражает сути вопроса. Советую исправить, или ее закроют.

Старый 22.05.2013, 12:25
GuitarFan вне форума Посмотреть профиль Отправить личное сообщение для GuitarFan Найти все сообщения от GuitarFan
  № 4  
Ответить с цитированием
GuitarFan

Регистрация: May 2013
Сообщений: 22
Цитата:
Возможно это будет для вас как снег на голову, но это называется параметр функции. А то, что в нее по факту передалось, называется аргументами.
Не будет. Мне не понятно, почему нельзя написать без аргумента? Получается, когда используется addEventListener обязательно в функцию передается как параметр MouseEvent? И нужно в аргументах функции его обязательно принимать? MouseEvent - разве в себе что-то хранит? Я думал это чисто для отлова кликов и т.д., не думал, что есть смысл это передавать.

Старый 22.05.2013, 12:28
ProcXel.A вне форума Посмотреть профиль Найти все сообщения от ProcXel.A
  № 5  
Ответить с цитированием
ProcXel.A
Banned
[+1 27.05.13]

Регистрация: May 2013
Сообщений: 60
GuitarFan, в справке посмотри, что события в себе хранят.

Старый 22.05.2013, 12:30
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Прочтите про события. И еще раз вот это.
__________________
тут я

Старый 22.05.2013, 13:16
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
когда используется addEventListener обязательно в функцию передается как параметр MouseEvent?
Нет. Туда передается тот типа события, на который была подписка. В случае с кликом - да, MouseEvent передается обязательно.

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Нет. Туда передается тот типа события, на который была подписка. В случае с кликом - да, MouseEvent передается обязательно.
MouseEvent - расширяет Event, следовательно MouseEvent не обязателен, т.е. место него можно поставить Event параметр - вот он точно обязателен

Старый 22.05.2013, 15:08
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 9  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
MouseEvent - расширяет Event, следовательно MouseEvent не обязателен, т.е. место него можно поставить Event параметр - вот он точно обязателен
Ну, следуя такой логике можно вообще Object поставить и не париться.
MouseEvent хранит определенные данные именно о событии мыши, которых от объекта с типом Event получить невозможно. Так что MouseEvent обязателен, если нужно узнать, например, по чему именно был щелчок или в каком месте.

Старый 22.05.2013, 17:44
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 10  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Так часто и делают, чтобы компилятор не ругался на as Class

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

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

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


 


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


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