Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Секреты разработки игр в Macromedia Flash MX - Макар Дж.

Макар Дж. Секреты разработки игр в Macromedia Flash MX — М.: КУДИЦ-ОБРАЗ , 2004. — 608 c.
ISBN 0-201-77021-0
Скачать (прямая ссылка): sekretirazrabotkiigr2004.djvu
Предыдущая << 1 .. 14 15 16 17 18 19 < 20 > 21 22 23 24 25 26 .. 210 >> Следующая

объекты, которые содержат две части информации: величину (таюке
называемую скалярным значением) и направление. Например, векторная
скорость 30 километров в час (км/ч) на юго-восток является вектором. Его
величина (скорость) равна 30, а его направление на - юго-восток.
Давайте копнем немного глубже в определении этих важных концепций.
Скорость - отношение пройденного расстояния ко времени, затраченного на
преодоление этого расстояния. Математически это записывается в виде
уравнения скорость = расстояние/время. Например, если автомобиль
проезжает 30 километров за 2 часа, то его скорость равна 30 километров/2
часа = 15 километров/час.
|Ш Как определено выше, скорость есть расстояние, деленное на время.
Когда вы читаете "15 километров/час", вы произносите "15 километров в
час".
Векторная скорость - вектор, сформированный комбинацией скорости с
направлением. Теперь давайте посмотрим, как использовать эту концепцию
скорости и векторной скорости для нахождения расстояния, преодолеваемого
за определенный отрезок времени. Если нам известна скорость, с которой
едет автомобиль, как мы узнаем, насколько далеко уедет он, скажем, за 3
часа?
64
Часть 2. Исследование основ
Выше мы сказали:
скорость=расстояние/время
Применяя элементарные приемы алгебры (умножение обеих частей равенства на
время), мы приходим к следующему уравнению:
расстояние=скорость*время
С помощью этого уравнения мы можем найти, как далеко уедет автомобиль
(или другой объект), если мы знаем его скорость и отрезок времени, в
течение которого он двигался. С другой стороны, если мы знаем, как далеко
уехал автомобиль, и знаем его скорость, то мы можем рассчитать время его
движения, используя последнюю запись этого уравнения:
время=расстояние/скорость
Реализация скорости в ActionScript
Итак, теперь вы поняли, что такое скорость и векторная скорость. И вы
поняли как при знании любых двух из следующих переменных - скорости,
расстояния и времени - вы можете найти оставшееся значение. Во многих
играх вам нужно программировать движение клипа (такого, как шар,
автомобиль или космический корабль). Так каким образом вы собираетесь
применять скорость для клипа? Вы поймете это. Мы говорили и думали о
скорости как измеренной в единицах расстояние/время (расстояние, деленное
на время). Но Flash не является средой, в основе которой лежит время - в
его основе лежат кадры. Для пользователя Flash один кадр может быть
принят как одна единица времени. Таким образом (как вы
Глава 4. Основы физики
65
увидите на вашем экране, если все сделаете правильно), для нас удобно
заменить каждое вхождение переменной времени в уравнении переменной для
кадров. Например, если расстояиие=скорость*время, то в новой форме записи
это будет выглядеть как расстояние =скорость*кадры. (Другими словами,
скорость больше не равна 10 миль/час, а равна 10 единиц/кадр). Во Flash
мы собираемся изменить определение скорости заменой времени на кадры.
Итак, давайте посмотрим на наше определение скорости снова, на сей раз
под нашим новым углом зрения.
Скорость - отношение пройденного расстояния к кадрам, потраченным на
прохождение этого расстояния. Математически это записывается как ско-
рость=расспюяние/кадры. Например, если клип перемещается на 30 единиц за
2 кадра, то его скорость составляет 30 единиц/2 кадра =15 единиц/кадр.
Как показано в определении выше, единица изменения расстояния не является
метрами, а просто единицами, или пикселями. (Я предпочитаю использовать
слово единица, потому что если фильм Flash масштабируется к большему или
меньшему размеру, то лишь единица является словом, которое по-прежнему
применимо.) Для измененного размера, размерность в пикселях не
изменяется, но размерность в единицах изменяется.
? % "=.::=="¦ • S-i 5 -.jji Cflfl 5Wt 5.=.^ jffi.- ;Sr=._- F_ВЁ
carl.fla
Чтобы посмотреть простое применение скорости, откройте файл carl.fla в
папке Chapter04 на CD-ROM. Обратите внимание, что частота кадров была
установлена в 24 кадра в секунду (fps) для обеспечения плавного
воспроизведения. В рабочей области вы видите один клип с именем
экземпляра Саг. В кадре 1 слоя панели Actions есть несколько строк кода
на ActionScript. Они выглядят так:
1 xmov = 3;
2 _root.onEnterFrame = function () {
3 car._x += xmov;
4 }
3-234
66
Часть 2. Исследование основ
11а всем протяжении книги вы увидите, что я называю все скорости в
направлении х как xmov, а все скорости в направлении у как ymov или с
некоторыми изменениями этих базовых имен (например, как tempxmov или
xmovl).
Строка I устанавливает переменную скорости под названием xmov в значение
3. Строка 2 назначает обработчик для события onEnterFrame. Все действия,
заключенные в обработчике события onEnterFrame, вызываются один раз в
каждом кадре. В строке 3 мы работаем со скоростью объекта. Берется
текущее положение автомобиля - саг.х - и к нему прибавляется значение
скорости. Помните, что скорость измеряется в единицах на кадр. Таким
Предыдущая << 1 .. 14 15 16 17 18 19 < 20 > 21 22 23 24 25 26 .. 210 >> Следующая