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

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

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

Регистрация: Apr 2009
Сообщений: 409
По умолчанию Список объектов под курсором

Привет, есть несколько скрол листов на Starling, один над другим. Событие MouseWheel слушается глобально co stage, есть какой нибудь более простой способ определить над каким списком курсор, кроме как получать всех детей стейджа? Снизу вверх, как я понимаю, это не определить
Код AS3:
 
private static function getHitObjects(from:DisplayObjectContainer, point:Point, array:Vector.<DisplayObject>) {
			for (var i:int = 0; i < from.numChildren; i++) {
				var child:DisplayObject = from.getChildAt(i);
				if (child.hitTest(point)){
					array.push(child);
					if (child is DisplayObjectContainer)
						return getHitObjects(DisplayObjectContainer(child), point, array);
					else
						return array;
				}
			}
		}

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

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

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

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
с старлинг не работал, но разве нельзя юзать
MouseOver ?а там определять event.target
или я не верно понял задачу?

еще вот это смутило.
Цитата:
Снизу вверх, как я понимаю, это не определить
что именно нельзя снизу вверх?)

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

Регистрация: Apr 2009
Сообщений: 409
Цитата:
Сообщение от Zebestov Посмотреть сообщение
А разве переопределенный в Stage метод hitTest() не даст ожидаемого результата?
Спасибо, совсем забыл что hitTest возвращает DisplayObject, а не Boolean)
Код AS3:
		public static function hitOver(me:DisplayObject):Boolean {
			if (me&&me.stage&&me.hasVisibleArea){
				var hit:DisplayObject = starlingStage.hitTest(position, true);
				if (me is DisplayObjectContainer)
					return DisplayObjectContainer(me).contains(hit);
				else
					return (hit == me);
			} else
				return false;
		}
Dezar, там не все так просто)

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

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

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


 


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


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