ActionScript краткий обзор

       

Обнаружение пересечений


Можно использовать hitTest метод объекта MovieClip для обнаружение пересечений в клипе. Метод hitTest определяет пересекается ли объект с другим муви-клипом и возвращает булеановское (Boolean) значение true или false. Можно использовать параметры метода hitTest для определения x и y hit-координат (области нажатия) или использовать target path (путь до цели - прямее ничего не придумалось) другого муви-клипа как hit-область.

Каждый муви-клип во флеш-клипе есть копия (instance - образец) объекта MovieClip. Это позволяет вызывать методы объекта из любого мувика, как указано ниже:

myMovieClip.hitTest(target);

Возможно использование метода hitTest для проверки пересечения муви-клипа с отдельной точкой.

Подвигайте мышом по поверхности клипа. Результат работы hitTest смотрите в текстовом поле.

Также можно использовать метод hitTest для проверки пересечения двух мувиков.

Потаскайте сферу, результат работы hitTest см. в текстовом поле.

Проверка на пересечение муви-клипа и отдельной точки:



1 Выделить мувик на рабочем поле.
2 Выбрать Window > Actions для открытия панели команд.
3 Дважды щелкнуть на команде trace расположенной в категории Actions списка команд.
4 Поставить галочку в Expression check box и ввести следующее выражение в строку Expression (Выражение):
trace (this.hitTest(_root._xmouse, _root._ymouse, true);
Этот пример использует _xmouse и _ymouse свойства как x и y координаты hit-области и в режиме теста клипа отсылает полученный результат в окно Output. Можно положить в клип текстовое поле и отображать результаты в нем или анализировать их при помощи if оператора.
5 Выбрать Control > Test Movie и подвигать мышом по клипу, чтобы увидеть результат теста.

Проверка на пересечение двух муви-клипов:

1 Расположить два мувика на рабочем поле и присвоить им имена mcHitArea и mcDrag.
2 Создать текстовое поле и в строке Variable (переменная) панели Text Options, присвоить ему имя status.
3 Выделить mcHitArea и выбрать Window > Actions.
4 Дважды щелкнуть на команде evaluate в списке команд.
5 Ввести следующий код в строку Expression (выражение), выбирая нужные составляющие из верхнего списка: 1
_root.status=this.hitTest(_root.mcDrag);
6 Выбрать команду onClipEvent и задать ей enterFrame как событие.
7 Выделить mcDrag и выбрать Window > Actions.
8 Дважды щелкнуть startDrag в списке команд.
9 Включить опцию Lock Mouse to Center.
10 Выбрать команду onClipEvent и задать ей событие Mouse down.
11 Дважды щелкнуть stopDrag в списке команд.
12 Выбрать onClipEvent и задать ей событие Mouse up.
13 Запустить в режиме теста Control > Test Movie и подвигать мышом, чтобы посмотреть на результат.

Для получения большей информации о методе hitTest, см. соответствующий подраздел ActionScript Словаря.

Oт переводчика:

  1. Можно просто напечатать эту строку на клавиатуре, еще лучше скопировать с этой страницы и вставить через буфер обмена :)
    Совет: если вставлять через буфер, то не следует копировать закрывающие выражение точку с запятой (";"). Скриптовый флеш-редактор вставляет их автоматом.



Содержание раздела