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

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



Значение distance представляет собой расстояние между центрами двух объектов. Скорее всего, вам никогда не придется использовать столь реалистичную трактовку гравитации в ваших играх. Однако, если вам хотелось бы видеть работающий пример вышеприведенного соотношения во Flash, посмотрите на мой эксперимент, сделанный на Flash 5, файл realGravity.fla в папке Chapter04. Код ActionScript в realGravity.fla обрабатывает определение столкновений, реакцию на столкновения и действие сил гравитации. Достаточный подход к рассмотрению гравитации Как упоминалось в начале этой главы, есть моменты, когда упрощенная формула будет столь же функциональна для наших игровых целей, что и сложная, «реальная» физика, за изучение которой я заплатил много денег, чтобы получить диплом. Наступил один из тех моментов. Если вы беспокоились о том, что придется работать с уравнениями гравитации, вы будете рады услышать, что существует простой способ добавления эффекта гравитации в ваши игры: просто придумайте значение для гравитации – скажем 2 – и затем добавляйте это значение в вашу составляющую y векторной скорости в каждом фрейме. Чтобы увидеть пример, иллюстрирующий описанный подход, откройте файл bounce.fla в главе Chapter04 на CD. В этом файле, я воздействовал на векторную скорость шара, используя фальшивую гравитацию. Я также добавил простой трюк для обнаружения столкновения, для того чтобы шар не провалился сквозь пол (мы будем говорить об этом более подробно в Главе 5 и 6, «Обнаружение столкновений» и «Реакция на столкновения»). Ниже приведен код ActionScript: 1 ymov =0; 2 //set gravity 3 gravity =2; 4 _root.onEnterFrame =function (){ 5 ymov +=gravity; 6 ball._y +=ymov; 7 if (ball._y >400){ 8 ball._y =400; 9 ymov *=-1; 10 } 11 } В 5 строке вы можете видеть, что гравитация использована для изменения векторной скорости шара таким же образом, как для этого использовалось ускорение. В строках с 7 по 10 мы проверяем, не опустился ли шар ниже значения 400 (которое является высотой расположения пола в сцене этого фильма)
Hosted by uCoz