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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.10.2009, 20:04
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 21  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
Цитата:
Мы просто не сможем получить доступ к свойствам и методам, определённым непосредственно в MouseEvent (localX, например)
ну почему не сможем. к нам придет то ведь все-равно MouseEvent, что мешает нам кастануть наш евент
__________________
я могу стать всем, если только захочу

Старый 29.10.2009, 20:06
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 22  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Естественно, просто я именно хотел обратить внимание на то, в чём разница между типом и классом события.

Старый 30.10.2009, 12:01
TommyLee вне форума Посмотреть профиль Отправить личное сообщение для TommyLee Найти все сообщения от TommyLee
  № 23  
Ответить с цитированием
TommyLee

Регистрация: Sep 2009
Сообщений: 130
Цитата:
Сообщение от Felicast Посмотреть сообщение
в сотый раз говорю: ему абсолютно плевать, слушает кто его или нет.
Это я уже понял. Спасибо за пример реализации EventDispatcher.

Цитата:
Сообщение от Felicast Посмотреть сообщение
класс MouseEvent (к слову сказать, этот класс нативный (находится в самом плеере)
Получается, все предопределенные события - нативные, т.е. в коде можно их не создавать, как пользовательские объекты.
Далее:
- При возникновении однотипного события несколько раз, создается соответствующее количество объектов: например, щелкнул 3 раза - флеш создал 3 объекта события MouseEvent;
- импорт предопределенных событий. Только для удобства записи в коде.

Цитата:
Сообщение от SamFR Посмотреть сообщение
Диспетчер (в том числе то, что вы называете "среда")
То есть, когда я говорил о среде флеш, я говорил об объекте класса EventDispatcher?

Старый 30.10.2009, 12:17
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 24  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Да, всё верно. Среда содержит в себе определённое количество нативных наследников EventDispatcher – диспетчеров событий. Эти события вручную создавать, как правило, нет необходимости, они создаются плеером.

Хотя никто вам этого делать не мешает: например, можно сгенерить в каком-нибудь DisplayObject-е событие MouseEvent.MOUSE_DOWN, и все подписчики будут думать, что в этом объекте был произведён щелчок мышью.

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

Регистрация: May 2009
Сообщений: 220
Цитата:
Сообщение от SamFR Посмотреть сообщение
Нет, import просто указывает компилятору, что данный класс используется в коде и позволяет получить к нему доступ без указания пакета. Можно обойтись и без импорта, но в этом случае всё время придётся вместо MouseEvent писать flash.events.MouseEvent.
Цитата:
Сообщение от TommyLee Посмотреть сообщение
- импорт предопределенных событий. Только для удобства записи в коде.
вот пример:
Код AS3:
package
{
	import flash.display.Sprite;
 
	public class Example extends Sprite {
		private var i:int;
 
		function Example():void {
			var s:Sprite = new Sprite();
			s.graphics.beginFill(0);
			s.graphics.drawCircle(40, 40, 30);
			s.addEventListener(flash.display.MouseEvent.CLICK, func3);
 
			addChild(s);
		}
 
		private function func3(e:flash.display.MouseEvent):void {
			trace(3);
		}
    }
}
не откомпилируется
и при этом да - MouseEvent зашит в плеер.

Старый 30.10.2009, 13:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 26  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от SamFR Посмотреть сообщение
Нет, import просто указывает компилятору, что данный класс используется в коде и позволяет получить к нему доступ без указания пакета. Можно обойтись и без импорта, но в этом случае всё время придётся вместо MouseEvent писать flash.events.MouseEvent.
Это в AS2 так можно было.

Старый 30.10.2009, 13:02
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 27  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Не flash.display.MouseEvent, а flash.events.MouseEvent. Обратите внимание.

Добавлено через 4 минуты
Цитата:
Сообщение от etc Посмотреть сообщение
Это в AS2 так можно было.
Да, точно. Интересно, что же тогда импорт ещё делает в случае нативных классов, кроме расширения области видимости?


Последний раз редактировалось SamFR; 30.10.2009 в 13:13.
Старый 30.10.2009, 13:08
TommyLee вне форума Посмотреть профиль Отправить личное сообщение для TommyLee Найти все сообщения от TommyLee
  № 28  
Ответить с цитированием
TommyLee

Регистрация: Sep 2009
Сообщений: 130
Цитата:
Сообщение от etc Посмотреть сообщение
Это в AS2 так можно было.
Я что-то не правильно понял?

Старый 30.10.2009, 13:10
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 29  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Цитата:
Сообщение от TommyLee Посмотреть сообщение
Я что-то не правильно понял?
Как оказывается, в AS3 импорт обязателен, просто указать пакет недостаточно.

Старый 30.10.2009, 13:22
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 30  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
Цитата:
Сообщение от SamFR Посмотреть сообщение
Не flash.display.MouseEvent, а flash.events.MouseEvent
пардон, опечатался, но не точности пути была суть, собственно )))

P.S. почитайте этот топик.


Последний раз редактировалось switcher!; 30.10.2009 в 13:32.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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