5
фев
  Столкновение объектов во Flash #1 0 баллов
 

Вопрос:


Пожалуйста дайте action script на тему: “встреча двух объектов”. И последующее действие, к примеру перебросить на такой-то кадр.

Ответ:


Вопрос не из сложных, просто нужно знать каким методом пользоваться. В этом примере мы разберём самый простой способ отлавливания “столкновения” объектов через hitTest. Пример очень простой, поэтому и пояснений к нему минимум.

Разбираем ActionScript


Для проверки “встречи” двух объектов, за частую достаточно использовать функцию hitTest:

if(obj1_mc.hitTest(obj2_mc)){
        trace(“Пересечение произошло”);
}

1. obj1_mc и obj2_mc — объекты, пересечение которых между собой мы проверяем;
2. hitTest — собственно сам метод hitTest.

В принципе, нет никакой разницы запишем мы obj1_mc.hitTest(obj2_mc) или obj2_mc.hitTest(obj1_mc), в обоих случаях будет проверяться “пересечение” одних и тех же объектов. Функция hitTest возвращает true, если объекты пересекаются, и false, если нет. Так же нужно запомнить, что в Flash у функции hitTest есть несколько способов применения. В этом примере мы разобрали только один из них, а точнее «пересечение двух объектов». Так же с помощью hitTest можно отслеживать пересечение объекта и точки. Но об этом мы поговорим с вами уже в других статьях.

Сама флешка » | Исходник »

Комментарии (3)   Автор: admin
Комментарии
BOSS.ELVIN
06.12.09 | 13:31
0 баллов

ЧЁТКО!!!А ЭТО МОЖНО ИСПОЛЬЗОВАТЬ ЕСЛИ НАПРИМЕР СОЗДАЕШЬ ГОНКИ С ПРЕПЯТСТВИЯМИ?

FlashER
07.01.10 | 14:09
0 баллов

Если немного подумать и включить свою фантазию - то тогда можно. Например, ты нарисовал машину для своей игры "гонки". Игрок управляет машиной от 3 лица. Конвертируешь машину в мувиклип. А нижнюю часть машины в другой... Затем используешь функцию hitTest для мувиклипа нижней части машины(слой с гоночной машиной должен стоять выше слоя с препятствиями). И когда происходит столкновение, игрока переносят на кадр с текстом "игра закончена")))))))
В самой же игре кажется, что препятствие вплотную приблизилось к машине (т.е. это такой зрительный обман)

FlashER
07.01.10 | 14:13
0 баллов

Ну а если ты делаешь игру "гонки" с видом птичьего полёта, то тогда просто используй функцию
if(obj1_mc.hitTest(obj2_mc)){
gotoAndPlay(2);
}

 
 
 
 

Последние комментарии

Полезные ссылки

Реклама сайтов