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

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

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

Регистрация: Oct 2013
Сообщений: 22
По умолчанию Всплывание событий

У меня есть: класс привязанный к Символу и основной класс
Когда в основном классе возникает событие CLICK, как поймать его в классе привязанном к Символу

Старый 30.10.2013, 11:02
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 2  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Лучше приведите пример кода, где не ловится событие, а то так по описанию не понятно, что вам надо

Старый 30.10.2013, 14:42
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Вчера, пока отдыхал от getTimer, решил сделать пример баблинга, сделать для того, чтобы самому закрепить
знания, но столкнулся с непонятным мне явлением. Почему если нарисовать документ класс и подписать его на клики, он не ловит события? я конечно понимаю, что сам доккласс не кто не будет отрисовывать, но это не важно, для меня важно понять, почему он события не ловит?

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Клик может быть только по непрозрачной области.
Документ-класс - это просто контейнер.
Пока ты в нем что-то не нарисуешь, или не добавишь в него - кликов не будет.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 30.10.2013, 14:59
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Клик может быть только по непрозрачной области.
Так я же написал - если нарисовать... Вот код, где док класс нарисован, но клики не регистрирует.
Почему?
Цитата:
Документ-класс - это просто контейнер.
Вот и я так же думаю, что он такой же контейнер, как и любой другой спрайт и если его нарисовать, то клики должен регистрировать...
Код AS3:
package a_test 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	public class Main extends Sprite 
	{
		private var _container:Sprite;
		public function Main() 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(event:Event=null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			graphics.beginFill(0xC5AC21);
			graphics.drawRect(0, 0, 800,600);
			graphics.endFill();
			addEventListener(MouseEvent.CLICK, clickHandler);
		}
 
		private function clickHandler(event:MouseEvent):void 
		{
			trace(this, event.type);
		}
	}
}

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Да, этот код поидее должен работать.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 30.10.2013, 15:15
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 7  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Да, этот код поидее должен работать.
Вот и я так думал, но есть что то, что делает его нерабочим. Можно сказать, что так не кто не делает,
но ведь это может и ещё где то вылезти. По этому, если кто то знает по чему так, расскажите.

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
private function init(event:Event=null):void 
{
	removeEventListener(Event.ADDED_TO_STAGE, init);
 
	var spr:Sprite = new Sprite();
 
	spr.graphics.beginFill(0xC5AC21);
	spr.graphics.drawRect(0, 0, 800,600);
	spr.graphics.endFill();
 
	addChild(spr);
 
	addEventListener(MouseEvent.CLICK, clickHandler);
}
Вот так работает.
Короче графикс это не интерактивный объект. Потому не кликается.
Но вообще слегка непонятно. Если подписаться не на мейн а на тот же спрайт - то кликаться будет. Призываю в тред товарищей задротов кто там теоретическую поддержку может оказать
Возможно у документ-класса особые настройки какие-то. Потому что с любыми другими спрайтами заливка графикса конает и всегда конала.

Добавлено через 8 минут
Еще больше интересного увидишь если графикс будет не прямоугольный а круглый
Рекомендую поекспериментировать с кликами по прозрачным уголкам и свойствами mouseEnabled, mouseChildren.
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
Когда в основном классе возникает событие CLICK, как поймать его в классе привязанном к Символу
Есть примерно такое дерево объектов:
- основной класс
-- класс символа
--- символ

Задача решается легко. Но нужно поглядеть как вы пытаетесь сделать то что хотите. Ну и не совсем понятно что же именно вы пытаетесь.
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Призываю в тред товарищей задротов кто там теоретическую поддержку может оказать
Пока никто из них не пришел, скажу что это бага FP. Для каких-то быстрых тестов я обычно использую подписку на MouseEvent.MOUSE_DOWN, отсылаемых объектом stage.
__________________
...вселенская грусть

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

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

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


 


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


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