PDA

Просмотр полной версии : Как узнать какой объект находится под точкой


Isfet
03.09.2012, 19:52
Всем привет, возникла тут проблемка.
вот есть такая шкала, на ней обозначен интервал времени,
28406
на большими черточками обозначены часы.
Планировал сделать следующее:
Каждую черту сделать классом, чтобы она знала какое у нее время, на больших чертах есть текстовое поле.
если она встанет на центр. треугольник, время должно изменить цвет.
Тянем шкалу вправо или влево перемещаются только черточки (битмапа на месте), и когда черта пересекается с центральным треугольником(тоесть таким образом мы выбираем какое-либо время), записывает в переменную контейнера время, которое хранится в черте.
Тоесть мне нужно узнать какая в черта в данный момент находится под треугольником , чтобы вытащить из нее время. Не знаю можно ли это сделать с помощью hitTestPoint.
Подскажите мож кто сталкивался с таким? Может есть способы попроще, просто те которые видятся мне очень ресурсопотребляющие?

Isfet
03.09.2012, 20:11
Нашел тут метод getObjectsUnderPoint();
наверное то, что надо.

Anton Riot
03.09.2012, 23:46
Время в чёрточках – последнее слово во времяисчеслении!

spirit2
04.09.2012, 03:39
Почитайте про MVC.
В собираетесь считывать данные с картинки, а потом заниматься их обработкой, хотя логичнее начать с вычислений, а отображать уже по факту необходимости.

bav
04.09.2012, 09:52
мне нужно узнать какая в черта в данный момент находится под треугольником
По-моему нужно исходить из координат контейнера черт и координат треугольника. Без всяких hitTestPoint и getObjectsUnderPoint. Вам же известно расстояние между черточками? И наверняка ссылки на черточки хранятся в массиве. То есть как-то так:

var difference:Number = triangle.x - container.x;
var nearestIndex:Number = Math.round(difference / BETWEEN_LINES);
var toNearestLine:Number = Math.abs(difference - nearestIndex * BETWEEN_LINES);
if (toNearestLine < MIN_MARGIN)
glowTime(lines[nearestIndex]);
else
darkenAllTimes();