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

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

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

Регистрация: Jun 2010
Сообщений: 120
По умолчанию Фазы события

Имеется такой код
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
 
        public class EventPhasesDispatch extends Sprite
	{       
 
		public function EventPhasesDispatch():void
		{
			// Create theSprite
			var theSprite:Sprite = new Sprite();
			theSprite.graphics.lineStyle(1);
			theSprite.graphics.beginFill(0x0000FF, 1);
			theSprite.graphics.drawRect(0, 0, 50, 50);
			theSprite.x = 320;
			theSprite.y = 240;
 
			// Create theSprite2
			var theSprite2:Sprite = new Sprite();
			theSprite2.graphics.lineStyle(1);
			theSprite2.graphics.beginFill(0x00FF00, 1);
			theSprite2.graphics.drawRect(0, 0, 25, 25);
 
                        theSprite.addChild(theSprite2);
                        stage.addChild(theSprite);
 
                        theSprite.stage.addEventListener(MouseEvent.CLICK, mouseClickListener, false);
                 }
 
                 private function mouseClickListener(e:MouseEvent):void
                 {
	          	trace("Click");
                 }
	}
}
Почему, когда в слушателе событий третий параметр стоит в true, щелкая по стейджу, в Output не выводится сообщение ?


Последний раз редактировалось goldlider; 18.09.2011 в 22:37.
Старый 18.09.2011, 22:40
DJDrugsounD вне форума Посмотреть профиль Отправить личное сообщение для DJDrugsounD Найти все сообщения от DJDrugsounD
  № 2  
Ответить с цитированием
DJDrugsounD
 
Аватар для DJDrugsounD

Регистрация: Jun 2011
Сообщений: 153
http://help.adobe.com/ru_RU/FlashPla...ispatcher.html

Старый 18.09.2011, 22:44
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 3  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
DJDrugsounD, я читал Help. И знаю, что означает параметр true в слушателе события. Мне не понятно почему stage являясь получателем события, нереагирует на событие, т.е. в моем случае не выводит сообщение Click.

Старый 18.09.2011, 23:48
Genm вне форума Посмотреть профиль Отправить личное сообщение для Genm Найти все сообщения от Genm
  № 4  
Ответить с цитированием
Genm

Регистрация: Aug 2011
Сообщений: 24
Записей в блоге: 1
http://blog.hanpo.tw/2011/01/event-f...e-true-or.html
Вот тут хорошо все показано и рассказано

Старый 19.09.2011, 23:14
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 5  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
Genm, спасибо за ссылку очень помогло.
Что вообще означает дословно на русском языке данное выр-е: Capture Phase of Event Flow didn't process Listener(mc) ?


Последний раз редактировалось goldlider; 20.09.2011 в 10:04.
Старый 20.09.2011, 01:07
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
Оно означает, что подписывашись на фазу захвата сам объект-подписчик (тот, который сделал addEventListener) событие не получит.

Старый 20.09.2011, 10:08
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 7  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
Psycho Tiger, я не догнал такой момент, если приемник зарегистрирован в потомке(mc) при установленом useCapture = true, и предок(stage) является получателем события. Почему предок(stage) вообще не получает уведомление о возникшем событии на фазе захвата ?


Последний раз редактировалось goldlider; 20.09.2011 в 14:52.
Старый 20.09.2011, 18:15
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
Мне тяжело мыслить в таком ключе )
Накидайте схематично пример кодом и я скажу.

Старый 20.09.2011, 18:25
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 9  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
Psycho Tiger, приведу тот же пример, что мне показал выше Genm. На 8-ом скриншоте, почему кликая по стейджу, функция не срабатывает ?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Потому, что листенер добавлен к mc и до него событие вообще не доходит. Не важно какая фаза обрабатывается. Ситуация ничем не отличается от 6-го скриншота.
__________________
משיח לא בא
משיח גם לא מטלפן

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

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

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


 


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


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