English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Например, в случае шара для бильярда, объект содержал бы цвет шара. Некоторые программисты останавливают свой выбор на использовании самого клипа в качестве хранилища для его информации. В некоторых случаях это подходит, но в других – например, когда клип не может все время находится в сцене – это не очень хорошая идея. Представьте игру, в которой неприятельский персонаж появляется после вас. Этот противник может покинуть экран для пополнения боеприпасов и затем вернуться опять через 30 секунд или около того. В этом случае, вероятно, неплохой идеей будет удалить клип из сцены (из соображений производительности), но сохранить объект, который хранит характеристики противника таким образом, что нам не нужно восстанавливать противника на пустом месте. В строке 2 вышеприведенного кода ActionScript, мы создаем новый объект с именем point1, который мы намерены использовать как контейнер для хранения информации о клипе point_clip1. Оператор point1={} является краткой формой для создания нового пустого объекта и задания ему имени. (В расширенной форме point1=new Object(), так что вы можете видеть, почему мы предпочитаем сокращенную форму). В строках 3 и 4 мы просто создаем переменные для объекта для представления позиции point_clip1 клипа. Строки 5-8 создают объект для point_clip2 и сохраняют информацию о нем тем же способом, что и объект point1. Далее, создан объект для хранения информации о клипе circle_clip1. Он хранит координаты x и y клипа, а также его радиус. Остальной код ActionScript определяет функцию для обнаружения столкновения и применяет ее для проверки на столкновения. 1 //Создайте функцию обнаружения столкновения 2 function pointToCircleDetection(point,circle){ 3 var xDiff =circle.x-point.x; 4 var yDiff =circle.y-point.y; 5 var distance =Math.sqrt(xDiff*xDiff+yDiff*yDiff); 6 if (distance<=circle.radius){ 7 trace("Collision detected!!"); 8 }else { 9 trace("No collision detected."); 10 } 11 } 12 //Проверьте столкновение между point1 и circle1 13 pointToCircleDetection(point1,circle1); 14 //Проверьте столкновение между point2 и circle2 15 pointToCircleDetection(point2,circle1); Сначала мы определяем функцию с именем pointToCircleDetection, которая принимает два параметра: point и circle
Hosted by uCoz