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

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



Это пересечение является точкой контакта. Мы знаем наклон основной линии, и мы знаем, что все линии перпендикулярные к ней имеют наклон, которые обратно пропорционален и противоположен по знаку. Строка 3 показывает, как мы находим наклон воображаемой линии. Помня, что уравнение для линии представляет собой y =m*x+b и помня о том, что мы имеем координаты для одной точки на этой линии (центр окружности), мы можем подставить значения x, y и m (наклон) для нахождения b (координата y пересечения). Строка 4 демонстрирует это. Теперь мы имеем всю информацию, которая нам нужна об обеих линиях, так что мы можем найти пересечение между ними. Строки 6 и 7 получают координаты пересечения линии с применением методики, которую мы использовали за некоторое время до этого. Этот блок кода завершается условным оператором, который сравнивает эту точку (пересечение) с границами отрезка линии. Если точка попадает между границами, то ничего не происходит. Если эта точка (которая является точкой пересечения между двумя линиями) не попадает в границы отрезка, то столкновение не происходит и переменная frames устанавливается в значение 1000 (нечто большое). Если значение переменной frames меньше или равно 1 и точка контакта находилась в границах отрезка линии, то столкновение имеет место быть. Последняя строка вышеприведенного кода возвращает переменную frames в качестве результата функции. Функция, которая вызвана функцией getFrames(), bankCollisionDetect(), возвращает ей число кадров и затем проверяет, является ли число кадров меньшим или равным 1. Мы увидим это снова в следующей главе, Реакция на столкновения. Вы встали на путь к созданию игры с продвинутыми методиками! Обнаружение столкновения точки с прямоугольником После того, что вы уже видели до сих пор в этой главе, оставшееся очень легко для понимания и применения. (Мы не будем включать скрипты независимого от кадров обнаружения столкновения в этот или следующий разделы). Поскольку это не является независимым от кадров обнаружением столкновения, обнаружение столкновения точки с прямоугольником подобно получению моментальных снимков
Hosted by uCoz