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

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



Объект под названием ball создан для хранения информации о ball1. Функция создана для упрощения создания линий в сцене. Объект, созданный для каждой линии хранит информацию об этой линии. Функция с именем getTempPositions() создана. Эта функция пока не требуется для тех задач, которые мы собираемся проделать с этим файлом. Однако, когда вы позднее добавите гравитацию и реакцию на столкновения, эта функция будет более полезна. Ее обязанность состоит в том, чтобы создать временное положение в памяти для всех движущихся объектов. Это делается, чтобы обратиться к обновлению положения под воздействием гравитационных, ветра или других внешних сил. Функция под названием render() принимает временное положение каждого движущегося объекта и устанавливает в качестве реальной позиции. Это физически размещает клип на экране. В этом файле мы имеем лишь один движущийся объект, поэтому функция очень простая и короткая. Функция под названием getFrames() обрабатывает обнаружение столкновения. Функция под названием bankCollisionDetect() была создана для прохода в цикле по всем линиям на экране и вызова функции getFrames() для каждой линии. Событие onEnterFrame вызывает getTempPositions(), bankCollisionDetect(), и render() в каждом кадре. Теперь давайте посмотрим на функцию getFrame(). Эта функция делает несколько вещей: 1. Находит пересечение между траекторией шара и линией. 2. Находит положение, где шар должен быть в начале контакта. 3. Определяет точку контакта и сравнивает ее с границами отрезка линии. 4. Вычисляет количество кадров, через которое шар достигнет точки столкновения. Шаги 3 и 4 не зависят один от другого, и в этой функции они меняются местами. Ниже приведен код ActionScript для шага 1. 1 function getFrames(tempLine,point){ 2 //Шаг 1 3 var slope2 =point.ymov/point.xmov; 4 if (slope2 ==Number.POSITIVE_INFINITY){ 5 var slope2 =1000000; 6 }else if (slope2 ==Number.NEGATIVE_INFINITY){ 7 var slope2 =-1000000; 8 } 9 //Координата y пересечения траектории шара 10 var b2 =point
печать на холсте дешево
Hosted by uCoz