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

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

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

Регистрация: Sep 2006
Сообщений: 453
По умолчанию MOUSE_OVER на слой ниже

Поверх объекта на который использую MOUSE_OVER стоит выше клип и перекрывает нижний. Что можно сделать, чтобы работал MOUSE_OVER, не изменяя очерёдность слоёв?

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

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Код AS3:
верхний_клип.mouseEnabled = false;
__________________
O God! The Aftermath.

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

Регистрация: Feb 2009
Сообщений: 63
а что делать если на верхнем слое нужно ловить MOUSE_OVER, MOUSE_OUT и MOUSE_DOWN
а на нижнем слое MOUSE_OVER и MOUSE_OUT?

верхний слой полностью перекрывает нижний

Старый 08.04.2010, 19:54
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 4  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Никак, используйте математику для определения координат. Или вложите нижний клип в верхний.

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
можно последить за нижним в MOUSE_MOVE
Код AS3:
private var _prevHit:Boolean = false;		
private function onMouseMove(event:MouseEvent):void 
{
	var currHit:Boolean = downSprite.hitTestPoint(event.stageX, event.stageY, true);
	if (_prevHit != currHit)
	{
		currHit ? downOver() : downOut();
		_prevHit = currHit;
	}
}

Старый 08.04.2010, 20:23
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
интересно, а что за задача?
__________________
Поймай яблоко 2!

Старый 09.04.2010, 15:52
mrMEM вне форума Посмотреть профиль Отправить личное сообщение для mrMEM Найти все сообщения от mrMEM
  № 7  
Ответить с цитированием
mrMEM

Регистрация: Feb 2009
Сообщений: 63
спасибо, silin, за самописный MOUSE_OVER, MOUSE_OUT
время мне сократил немножко

Добавлено через 12 минут
почему-то не всегда срабатывает (

задача такая: при наведении на область на земле должна немного выдвинуться плитка,
при нажатии на плитку она выезжает полностью, при отведении курсора плиитка заезжает обратно в землю.
на плитке есть функциональные элементы - текст, ссылки

Добавлено через 24 минуты
у меня не срабоало, потому что прицеприл обработчик локально.
изменил код под свои нужды так:
Код AS3:
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
		private var _prevHit:Boolean = false;		
		private function onEnterFrame(event:Event){
			var currHit:Boolean = area.hitTestPoint(stage.mouseX, stage.mouseY, false);
			if (_prevHit != currHit)
			{
				currHit ? downOver() : downOut();
				_prevHit = currHit;
			}
		}
		private function downOver(){
			trace("over");
		}
		private function downOut(){
			trace("out");
		}

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

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

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


 


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


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