Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   hitTestPoint (http://www.flasher.ru/forum/showthread.php?t=209717)

stas0 11.12.2014 23:09

hitTestPoint
 
Здравствуйте! Есть проблема с hitTestPoint. В документации сказано "Параметры x и y задают точку в координатной плоскости рабочей области". Есть ли какие-нибудь методы что-бы hitTestPoint работал относительно заданного объекта?

myObj.hitTestPoint( xPos, yPos );

illuzor 11.12.2014 23:12

Просто прибавляйте к координатам хиттеста координаты "заданного объекта".

undefined 11.12.2014 23:25

Эт только если scaleX=1,scaleY=1и rotation=0.
По хорошему надо использовать transform matrix "заданного объекта"

stas0 11.12.2014 23:34

undefined, наведите пример с transform matrix

illuzor 11.12.2014 23:57

undefined, каким образом координаты связаны с размерами и скейлом? Координаты - это точка.

undefined 12.12.2014 00:07

Код AS3:

var p:Point=new Point(x,y);
var m:Matrix=my_mc.transform.matrix;
trace(m.transformPoint(p));

трейс выдаст координаты точки (x,y) в системе координат мувика my_mc. Вообще если не хочется возиться с этими матрицами, векторами. Есть методы mc.globalToLocal(переводит координаты из глобальной системы координат в локальные координаты мувика mc) и localToGlobal(обратное преобразование)

Добавлено через 4 минуты
2 illuzor.
если я правильно понял задачу,товарищу надо перевести координаты в систему координат его мувика,естественно, что новые координаты будут зависеть от того растянут-ли его мувик или повернут
upd:
залез в хелп
The x and y parameters specify a point in the coordinate space of the Stage
т.е. метод принимает как раз глобальные координаты.
2 stas0- уточни что конкретно требуется? что значит 'работал относительно заданного объекта'?

illuzor 12.12.2014 00:11

undefined, зачем усложнять простую задачу?

undefined 12.12.2014 00:23

дык задача не до конца сформулирована)

stas0 12.12.2014 00:25

undefined, hitTestPoint определяет перекрывает ли объект заданную точку или нет, НО этот метод работает только с координатами рабочей области. А мне нужно, чтобы hitTestPoint работал с координатами другой плоскости, например, другого объекта.

undefined, приношу извинения! Не доработал вопрос :)

undefined 12.12.2014 00:30

ну переводишь координаты из системы координат своего 'другого объекта' в глобальные через localToGlobal и подставляешь их в hitTestPoint. Вообще illuzor прав если этот 'другой объект' не повернут и не растянут, то можно,как он предлагал, просто сложить координаты


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

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