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

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



И если точка движется достаточно быстро, она может пролететь через прямоугольник без обнаружения столкновения. Логика обнаружения столкновения между точкой и прямоугольником проста. Положение точки сравнивается с положением каждой стенки прямоугольника. Если координата x точки больше чем координата x левой стенки и меньше чем координата x правой стенки прямоугольника, а координата y больше чем координата y верхней стенки (помните, что ось y во Flash имеет противоположное направление) и меньше чем координата y нижней стенки, то столкновение произошло. RIGHT WALL ПРАВАЯ СТЕНКА LEFT WALL ЛЕВАЯ СТЕНКА TOP WALL ВЕРХНЯЯ СТЕНКА Point Точка BOTTOM WALL НИЖНЯЯ СТЕНКА Откройте файл point_rectangle.fla для просмотра примера. В сцене есть два клипа, point_clip1 и rectangle_clip1. Код ActionScript создает объект для хранения информации о точке и прямоугольнике. Затем, в каждом кадре точка перемещается и делается проверка на обнаружение столкновения. Ниже приводится код ActionScript, использованный для создания объектов. 1 //Создать объект для хранения информации о point_clip1 2 point1 ={}; 3 point1.clip =point_clip1; 4 point1.x =point1.clip._x; 5 point1.y =point1.clip._y; 6 point1.xmov =3; 7 point1.ymov =1; 8 // Создать объект для хранения информации о rectangle_clip1 9 rectangle1 ={}; 10 rectangle1.clip =rectangle_clip1; 11 rectangle1.x =rectangle1.clip._x; 12 rectangle1.y =rectangle1.clip._y; 13 rectangle1.width =rectangle1.clip._width; 14 rectangle1.height =rectangle1.clip._height; До сих пор вы видели это уже много раз. Мы создаем объект для каждого клипа в сцене для хранения информации об этом клипе. Обратите внимание, что для прямоугольника мы храним его положение (его точка привязки находится в верхнем левом углу), а также его ширину и высоту. Далее в коде ActionScript есть две функции, одна для создания временного положения точки в памяти и другая для положения клипа в сцене
academie косметика
Hosted by uCoz