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

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



В реальной жизни, этот множитель определяется экспериментально и отличается для каждой взаимодействующей поверхности объекта. Например, влажный ледяной куб на резиновом полу может иметь очень низкий коэффициент трения (.01), в то время как теннисные туфли на том же полу могут иметь более высокий коэффициент трения (.2). В ActionScript вы можете просто выбрать значение для u в зависимости от вида поверхности с которой имеете дело. Используя Второй закон Ньютона, мы можем определить замедление в результате трения: F =mass*accel =u*mass*gravity Сокращая mass в обеих частях уравнения, мы получаем: accel =u*gravity Эта переменная accel будет использована в уравнениях векторной скорости, с которыми мы будем работать. Ниже представлены шаги, которые вам нужно выполнить для реализации трения: 1. Найдите ускорение в результате трения, используя уравнение accel=u*gravity. 2. Примените значение accel к векторной скорости в каждом фрейме (точно также, как мы делали с ускорением) пока векторная скорость не достигнет 0. Помните, что отрицательное ускорение является замедлением Прекратите применение переменной, когда скорость достигнет 0. Если вы не сделаете этого, объект станет на самом деле двигаться в противоположном направлении. friction трение velocity векторная скорость Чтобы понаблюдать это в действии, откройте файл roll.fla в папке Chapter04. В этом файле мы перемещаем шар в направлении x. Он замедляется под действием трения до остановки. Ниже приведен использованный для этого код ActionScript: 1 xmov =10; 2 gravity =2; 3 u =.2; 4 accel =u*gravity; 5 _root.onEnterFrame =function(){ 6 if (Math.abs(xmov)>=Math.abs(accel)){ 7 if (xmov>0){ 8 xmov -=accel; 9 }else if (xmov<0){ 10 xmov +=accel; 11 } 12 }else { 13 xmov =0; 14 } 15 ball._x +=xmov; 16 }; В строке 1 мы даем шару начальную векторную скорость, так чтобы он имел некоторый ее запас для движения до остановки
Hosted by uCoz