У меня есть функция, перетаскивающая мувиклипы на сцену, которые проходят через другие мувиклипы, которые я хотел бы как-то идентифицировать.
Есть ли "встроенный" способ сделать это в AS3?
Спасибо
У меня есть функция, перетаскивающая мувиклипы на сцену, которые проходят через другие мувиклипы, которые я хотел бы как-то идентифицировать.
Есть ли "встроенный" способ сделать это в AS3?
Спасибо
Взгляните на hitTestObject()
а>.
Оценивает ограничивающую рамку экранного объекта, чтобы определить, перекрывается ли она или пересекается с ограничивающей рамкой экранного объекта obj.
Параметры
obj:DisplayObject
— Экранный объект для тестирования.Возвращает
Boolean
—true
, если ограничивающие рамки экранных объектов пересекаются;false
если нет.
Я сделал это однажды, самый простой способ, который я нашел, - это поместить прослушиватели событий OnMouseOver в ваши мувиклипы и OnMouseOut, чтобы вы могли знать, над чем находится мышь. Сохраняйте ссылку на мувиклип, который запускает событие, и аннулируйте его, если он вызывает OnMouseOut, чтобы вы знали, когда вы над мувиклипом, поместите OnMouseUp на перетаскиваемый мувиклип, чтобы при его выпуске вы могли посмотреть, какой мувиклип вызвал OnMouseOver последним, и сделать какой инвентарь вы хотите.
Надеюсь это поможет