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

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

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

Регистрация: Mar 2012
Сообщений: 36
По умолчанию Перекрывание объекта

Есть 2 объекта. Один частично накрыт другим. по клику мышкой по нему в области не перекрывающей, происходит вызов функции, а по клику в области где перекрывает другой объект не происходит вызов функции.
Код AS1/AS2:
var a1:BitmapData = new BitmapData(80,80,true,0x80FF3300);
var b1:Bitmap = new Bitmap(a1);
var c1:MovieClip=new MovieClip();
c1.addChild(b1);
addChild(c1)
c1.y=25
c1.addEventListener(MouseEvent.MOUSE_DOWN, onMD);
 
var a2:BitmapData = new BitmapData(80,80,true,0xFF0450FF);
var b2:Bitmap = new Bitmap(a2);
var c2:MovieClip=new MovieClip();
c2.addChild(b2);
addChild(c2)
 
function onMD(e:Event):void
{
	trace(e.currentTarget);
}
Как сделать, чтобы при клике на область где есть объект, но его перекрывает другой все равно объект улавливал клик?

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

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Сделать свой hitTest и через hitTestPoint смотреть, на какой конкретно объект попала точка клика.
__________________
interplanety

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

Регистрация: Mar 2012
Сообщений: 36
Так она попадает естественно на верхний объект, а нужно чтобы улавливал клик под ним который находится

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

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Я делал так:
- перехватывал клик
- получал все объекты под точкой клика (getObjectsUnderPoint)
- начиная с верхнего искал первый, на котором точка клика непрозрачна (hitTestPoint)
- отправлял событие клик полученному объекту
__________________
interplanety

Старый 23.11.2012, 21:18
Fartoviy_Spec вне форума Посмотреть профиль Отправить личное сообщение для Fartoviy_Spec Найти все сообщения от Fartoviy_Spec
  № 5  
Ответить с цитированием
Fartoviy_Spec

Регистрация: Mar 2012
Сообщений: 36
спасибо, щас попробую, а вот 4 пункт, как это отправить событие объекту?

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

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
dispatchEvent(new MouseEvent(MouseEvent.CLICK))
__________________
interplanety

Старый 23.11.2012, 21:44
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
а по простому ?
Код AS3:
c2.mouseEnabled = false;

Старый 23.11.2012, 22:01
Fartoviy_Spec вне форума Посмотреть профиль Отправить личное сообщение для Fartoviy_Spec Найти все сообщения от Fartoviy_Spec
  № 8  
Ответить с цитированием
Fartoviy_Spec

Регистрация: Mar 2012
Сообщений: 36
Спасибо. И первый вариант получился, но второй гораздо проще)

Старый 23.11.2012, 22:21
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 9  
Ответить с цитированием
Nickolai
[+6 15.11.12]

Регистрация: Oct 2012
Сообщений: 63
У меня кастате тоже такая проблема, но вот
Код AS1/AS2:
NumberPage1 = visual.NumberPage1;
NumberPage1.addEventListener(MouseEvent.CLICK, btnClickHandler);
NumberPage1.mouseEnabled = false;
Ничего не катит...(


Последний раз редактировалось Nickolai; 23.11.2012 в 22:31.
Старый 23.11.2012, 22:31
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>> Ничего не катит...(
осмелюсь предположить, что у тебя мешает не c2 (это был мувик из примера Fartoviy_Spec), а кто-то другой, вот ему и надо запретить реагировать на мышь

Создать новую тему Ответ Часовой пояс 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.