В этом файле два клипа – шар и пол. Под дейтсвием гравитации (рассматриваемой в Главе 4), шар падает. В каждом кадре мы проверяем наличие столкновения между ним и полом. Если hitTest() возвращает значение true, то векторная скорость шара меняет знак на противоположный и шар отскакивает вверх. Сделайте публикацию SWF для проверки файла. (Самый быстрый способ сделать это – нажать кнопки Ctrl-Enter в Windows или Command-Return на Mac.) Обратите внимание, что если вы запустите файл на 30 секунд или около того, шар застрянет в полу. Это следствие одного из ограничений hitTest(), которое мы обсудим в разделе «Обнаружении с использованием математики» этой главы.
Столкновения клипа с точкой
Метод hitTest() дает вам возможность определить, находится ли точка (x, y) в пределах ограничивающего прямоугольника клипа. Это может быть полезно в некоторых игровых ситуациях. Обычно это случаи, когда используется мышь. Простые игры в стиле нажми - и - уничтожь используют этот вид определения столкновения. Возьмем, к примеру, игру с воздушным шаром. Если пользователь нажимает мышь, когда курсор расположен над шаром, то воздушный шар поднимается. Это простейший способ для определения, находится ли курсор мыши над клипом без использования кнопки. Однако, большинство игр в стиле нажми – и - уничтожь сделаны с кнопками. Причина этого, по моему мнению, в том, что использование данного метода обнаружения не дает в играх большого эффекта.
Ниже приводится синтаксис использования hitTest() для определения пересечения точки с ограничивающим прямоугольником клипа:
myMovieClip.hitTest(x,y)
А в переводе на обычный язык: «Попадает ли точка с координатами x и y в ограничивающий прямоугольник myMovieClip?»
Как в предыдущем разделе, ответ на этот вопрос – то есть результат строки ActionScript – будет ли это true или false.
Для просмотра этих действий откройте файл balloon_pop.fla из папки Chapter05 на CD. Вы увидите клип, содержащий изображение воздушного шара