Урок 21. Пересечение объектов
Урок 21. Пересечение объектов
В играх часто происходят столкновения между различными объектами, причем иногда с весьма разрушительными последствиями. Давайте научимся создавать код, позволяющий отслеживать такие события, как пересечение двух объектов или, например, прохождение курсора над определенным объектом.
Основной способ обнаружения ситуации, в которой два объекта пересекаются или объект закрывает определенную точку экрана, – использовать функцию hitTest. Аргументом функции hitTest могут быть координаты какой-либо точки или ссылка на обьект, например клип, кнопку или текстовое поле.
Давайте начнем с проверки пересечения клипа с точкой. Предположим, вы хотите определить, находится ли курсор над определенным клипом на рабочем поле. Клипу следует назначить следующий код:
onClipEvent (enterFrame) {
if (this.hitTest(_root._xmouse,_root._ymouse,true)) {
this._x = int(Math.random()*550);
this._y = int(Math.random()*400);
}
}Строка this.hitTest() обозначает, что функция hitTest применяется к текущему клипу. Она включает три параметра: горизонтальное и вертикальное положение мыши, а также булевый параметр (значения true/false). Последний параметр определяет, использует ли Flash для контроля пересечения прямоугольную область, в которой содержится данный клип, или точную форму изображения в клипе. Во втором случае параметр должен быть равен true.
Исходный файл: Runaway.fla Вышеописанный код рассматривается в примере Runaway.fla. Если установить курсор над клипом, он переместится в случайную точку экрана.
Исходный файл: Collision.fla Для того чтобы определить, пересекаются ли два клипа, вы можете использовать один параметр – указатель на второй клип. В ролике Collision.fla на рабочем поле находятся два клипа. Клип большего размера называется "target", меньшего – "bullet". За пределами рабочего поля расположен клип "actions" со следующим кодом:
onClipEvent (enterFrame) {
// Auyniyai, iiiaea ee ioey a ieoaiu.
if (_root["target"].hitTest(_root["bullet"])) {
// Iiiaaaiea, oaaee.eaaai oaeu.
_root["target"]._xscale += 5;
_root["target"]._yscale += 5;
// Oae.aai ioe..
_root["bullet"]._x = 350;
} else {
// Iao iiiaaaiey, ioey eaoeo aaeuoa.
_root["bullet"]._x -= 5;
}
}Код задает перемещение снаряда на 5 пикселов. Если сталкиваются два клипа, мишень немного увеличивается за счет увеличения масштаба на 5 %. Горизонтальная координата снаряда принимает первоначальное значение, и он может опять начинать свое перемещение. Вы научились изменять масштаб клипа и его положение. Далее вы узнаете другие способы, с помощью которых можно изменить внешний вид клипа.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Пересечение и разность
Пересечение и разность В стандарте языка SQL имеются предложения оператора SELECT для выполнения операций пересечения и разности запросов. Этими предложениями являются INTERSECT (пересечение) и EXCEPT (разность), которые работают аналогично предложению UNION. В результирующий набор
Пересечение
Пересечение Snap to Intersection – привязка к точкам пересечениий объектов (отрезков, окружностей, дуг, сплайнов и т. п.).В случае пространственного моделирования в режиме Intersection допускается привязка к угловым точкам объектов, имеющих ненулевую высоту выдавливания. Если два
Предполагаемое пересечение
Предполагаемое пересечение Snap to Apparent Intersect – привязка к точке видимого на экране предполагаемого пересечения.Режим предполагаемого пересечения Apparent Intersect ищет точку пересечения двух объектов, которые не имеют явной точки пересечения в пространстве. Режим
Пересечение объектов
Пересечение объектов Команда INTERSECT позволяет при пересечении нескольких существующих объектов создать новые составные тела и области (рис. 16.16). Созданное сложное тело занимает объем, общий для двух или более пересекающихся тел, при этом непересекающиеся части объемов
Урок № 98. Удаление помеченных объектов
Урок № 98. Удаление помеченных объектов Как известно, процедура удаления ненужной информации из любого программного продукта требует повышенного внимания и осторожности, т. к. процесс этот зачастую необратим, а последствия могут быть достаточно серьезными. В связи с
Crossing (Пересечение)
Crossing (Пересечение) Как и предыдущий, этот режим позволяет выделять все объекты, полностью находящиеся внутри прямоугольной рамки, а также объекты, которые рамка пересекает. Рамка, имеющая зеленый цвет (он символизирует режим выделения Crossing (Пересечение)), определяется
Пересечение
Пересечение Команда INTERSECT позволяет создать новое тело, выделив общую часть заданных объектов. При этом исходные тела после выполнения команды удаляются. Результат применения операции пересечения к цилиндру и параллелепипеду показан на рис. 11.13. Рис. 11.13. Тело,
Пересечение
Пересечение Snap to Intersection – привязка к точкам пересечениий объектов (отрезков, окружностей, дуг, сплайнов и т. п.).В случае пространственного моделирования в режиме Intersection допускается привязка к угловым точкам объектов, имеющих ненулевую высоту выдавливания. Если два
Пересечение объектов
Пересечение объектов Команда INTERSECT позволяет при пересечении нескольких существующих объектов создать новые составные тела и области. Созданное сложное тело занимает объем, общий для двух или более пересекающихся тел, при этом непересекающиеся части объемов из
Пересечение
Пересечение Snap to Intersection – привязка к точкам пересечениий объектов (отрезков, окружностей, дуг, сплайнов и т. п.).В случае пространственного моделирования в режиме Intersection допускается привязка к угловым точкам объектов, имеющих ненулевую высоту выдавливания. Если два
Предполагаемое пересечение
Предполагаемое пересечение Snap to Apparent Intersect – привязка к точке видимого на экране предполагаемого пересечения .Режим предполагаемого пересечения Apparent Intersect ищет точку пересечения двух объектов, которые не имеют явной точки пересечения в пространстве. Режим
Пересечение объектов
Пересечение объектов Команда INTERSECT позволяет при пересечении нескольких существующих объектов создать новые составные тела и области (рис. 18.34). Созданное сложное тело занимает объем, общий для двух или более пересекающихся тел, при этом непересекающиеся части объемов
Пересечение
Пересечение Применение команды INTERSECT позволяет создать новое тело, выделив общую часть заданных объектов. При этом исходные тела после использования команды удаляются. Результат применения операции пересечения к цилиндру и параллелепипеду показан на рис. 11.13. Рис. 11.13.
Пересечение
Пересечение Snap to Intersection – привязка к точкам пересечениий объектов (отрезков, окружностей, дуг, сплайнов и т.
Пересечение объектов
Пересечение объектов Команда INTERSECT позволяет при пересечении нескольких существующих объектов создать новые составные тела и области (рис. 13.17). Созданное сложное тело занимает объем, общий для двух или более пересекающихся тел, при этом непересекающиеся части объемов
Урок 5.8. Вставка графических объектов в документ
Урок 5.8. Вставка графических объектов в документ Кроме автофигур в документы Word 2007 можно вставлять и другие графические объекты: рисунки из файлов, картинки из коллекции, диаграммы, фигурный текст, формулы и т. д. Особенности работы с этими объектами мы рассмотрим в этом