| |
Вопрос:
Пожалуйста дайте 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 лица. Конвертируешь машину в мувиклип. А нижнюю часть машины в другой... Затем используешь функцию hitTest для мувиклипа нижней части машины(слой с гоночной машиной должен стоять выше слоя с препятствиями). И когда происходит столкновение, игрока переносят на кадр с текстом "игра закончена")))))))
В самой же игре кажется, что препятствие вплотную приблизилось к машине (т.е. это такой зрительный обман)
Ну а если ты делаешь игру "гонки" с видом птичьего полёта, то тогда просто используй функцию
if(obj1_mc.hitTest(obj2_mc)){
gotoAndPlay(2);
}