Один из важнейших методов объекта MovieClip
— это метод hitTest(), позволяющий выявлять коллизии
клипов. Данный метод не имеет аналогов в списке операций,
и его можно использовать исключительно в качестве метода
объекта MovieClip.
Метод hitTest() может пригодиться в играх,
в программном обеспечении интерактивных Web-сайтов
... Этот метод может сопровождаться двумя различными
наборами параметров. В простейшем случае указывается
лишь целевой объект. К примеру, следующей условной
инструкцией предписывается необходимость проверить
факт существования коллизии между данным клипом и экземпляром
клипа с именем fatCat.
If (this.hitTest(_root.fatCat)) {
_root.gotoAndPlay("whiskers");
}
Обратите внимание, что идентификатор _root используется
здесь как для указания на целевой клип, так и для
адресации киноленты целевого кадра с меткой whiskers
(усы).
Наряду с прямым указанием на целевой
объект параметры метода hitTest() могут представлять
его координаты. Координаты могут вводиться переменными
или константами; они задаются в глобальном пространстве
координат. Например, следующий сценарий должен осуществить
проверку факта коллизии между текущим клипом и любым
объектом с координатами Х=228 и Y=l 14.
If (this.hitTest (228. 114, false)) {
}
Второй вариант применения метода hitTest()
позволяет выявлять коллизии любых объектов с заданными
координатами, не указывая конкретного имени экземпляра
клипа.
Метод проверки столкновения можно реализовать и таким
способом:
Вот скрипт для ниже приведенного ролика:
1. Создайте кнопку с графическим представлением необходимого
объекта.
2. Создайте клип и переместите в него вашу кнопку.
3. Переместите клип на сцену.
4. Войдите в режим редактирования перемещенного клипа.
5. Напишите скрипт на кнопке в этом клипе.
this (применяется вместо указания имени перетаскиваемого
объекта - этот код более универсальный, его можно копировать
и не оглядываться на сам объект, он подойдет для любого
объекта)
on (press) {
this.startDrag(true);
}
on (release) {
this.stopDrag();
if (this._droptarget == "_root.bucket") {
this._visible = 0;
}
}
Например, при нажатии на сыр он начинает перемещаться
вслед за мышкой. Затем как только мы отпускаем сыр,
идет проверка на столкновение с корзиной под именем
bucket. И если есть совпадение с корзиной, то сыр становится
невидимым. Задание