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

Регистрация: Apr 2009
Сообщений: 409
testObject работает только на пересечении прямоугольных объектов, то есть пересекает всегда в нескольких точках. если это устраивает, то берете габариты двух объектов, и вычисляете прямоугольник их пересения, его центр можно условно назвать точкой соприкосновения.
Код AS3:
var hitArea:Rectangle=display1.bounds.intersections(display2.bounds);
var hitTestObject:Boolean=!hitArea.isEmpty
var hitPoint:Point=new Point(hitArea.x+hitArea.width/2, hitArea.y+hitArea.height/2)
для объектов произвольных форм - поверхность надо разделять на треугольники.
окружности пересеклись - если длина прямой между центрами меньше суммы радиусов.


Последний раз редактировалось faraday; 21.04.2017 в 22:52.