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

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

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

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

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

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

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

образом, скорость 3 означает, что мы передвигаем автомобиль вдоль оси х
на три единицы за каждый кадр.
Использование наилучшей скорости смены кадров, 24fps
При создании объектов, двигающихся по экрану с использованием
ActionScript, важно определиться со скоростью смены кадров. По умолчанию
скорость кадров во Flash составляет 12 fps. Человеческий глаз
обманывается в предположении, что объекты двигаются непрерывно, в то
время как они в действительности просто появляются в различных местах.
Рост скорости смены кадров увеличивает количество появлений в секунду,
что делает движение более гладким и обманывает глаз еще больше.
Проигрыватель Flash будет усердно пытаться обеспечить ту скорость кадров,
которую вы устанавливаете для вашего SWF. Но если скорость процессора на
компьютере, где запускается SWF, не соответствует интенсивности
вычислений кода ActionScript, то скорость кадров упадет, в то время как
фильм будет продолжать воспроизводиться. Так что ключ состоит в поиске
хорошей скорости кадров, которая будет обеспечивать намеченную скорость
на большинстве компьютеров. В ходе многочисленных экспериментов и
реального мирового опыта я обнаружил, что 24 fps хорошо работает для всех
игр.
Когда вы сгенерируете SWF для проверки этого фильма, вы увидите, что
автомобиль движется относительно гладко. Действительно, автомобиль
перерисовывается в новой позиции 24 раза в секунду. Это очень похоже на
одну из тех книжек, которые у вас, возможно, были в детстве, где
статические картинки создают иллюзию движения при перелистывании.
Скорость кадров является транспортным средством (ничего не значащая игра
слов), с помощью которого мы обманываем человеческий глаз в
предположении, что автомобиль движется непрерывно, хотя в
действительности движение происходит дискретно.
Глава 4. Основы физики
67
Обзор ActionScript
Оператор +=, использованный в примере ActionScript выше, является краткой
формой записи, означающей "берем то, что слева, добавляем то, что справа,
и затем заменяем первоначальное значение полученным результатом".
Например:
х =2 ; х + = 3 ;
Теперь х имеет значение 5. С другой стороны, вторая строка могла бы быть
записана следующим образом:
х ==х 3:
Теперь, что если вы хотите сделать движение автомобиля сразу в двух
направлениях? Чтобы посмотреть, как вы могли бы добавить второе
измерение, скорость по у, откройте файл car2.fla. Этот FLA-файл содержит
те же элементы, что и в предыдущем примере. Единственное отличие вы
найдете в коде ActionScript. Откройте панель Actions для просмотра кода
ActionScript в 1-м кадре.
1 xmov = 3;
2 ymov = 2;
3 _root.onEnterFrame = function () {
4 car._x += xmov;
5 car._y += ymov;
6 }
68
Часть 2. Исследование основ
()i шчис or кода ActionScript в предыдущем примере заключено в двух
строках. ( ijioh.i 2 определяет переменную, представляющую скорость в
направлении у, .1 v I рок 11 1 управляет положением автомобиля путем
прибавления значения ymov к но iiiiiiiii автомобиля по у.
Мы могли бы уже заметить в этом случае визуальные проблемы. Автомобиль
м'.и ымся по диагонали, но он ориентирован по горизонтали. Чтобы
посмотреть, кик развернуть автомобиль в правильном направлении, откройте
car3.fla. Мы заметите там кое-что еще: есть две новых строки кода прямо
перед обработчиком onEnterFrame. Вот они:
1 angle =Маth . atan2 (ymov,xmov)* 180/Маth.PI;
2 car._rotation =angle;
Fie вдаваясь в подробности, строка 1 вычисляет угол, на который
автомобиль должен быть повернут, а строка 2 поворачивает автомобиль.
Суммируя то, что мы обсуждали в последней главе (помните тригонометрию?),
мы знаем, что мы можем использовать две стороны прямоугольного
треугольника для нахождения угла, образуемого траекторией автомобиля и
осью х. Ключ состоит в том, чтобы думать
о горизонтальной и вертикальной сторонах треугольника как о
сформированных скоростями xmov и ymov соответственно.
До поворота автомобиль образует угол 0 с осью х. Здесь мы вычисляем,
насколько должен быть повернут автомобиль, чтобы указать направление на
точку, к которой он движется. Зная длину стороны х (скорость по х) и
длину стороны у (скорость по у), мы можем найти угол, используя обратный
тангенс Math.atan2(). Он возвращает угол в радианах - угол, который мы
используем для вращения клипа. Чтобы сделать это, мы должны использовать
свойство _rotation. Достаточно просто но любопытно: свойство _rotation
принимает лишь углы в градусах! Это то, что происходит в строке 1; мы
переводим угол в градусы, умножая на значение 180/Math. PI.
Для немного более сложного практического примера см. файл shooter.fla в
папке Chapter04 на CD.
Ускорение
Если просто: ускорение возникает всякий раз, когда изменяется векторная
скорость. Вспомните, что векторная скорость имеет величину скорости и
направление. Так что, если величина скорости или направление изменяются
на некоторую величину, происходит ускорение.
Глава 4. Основы физики
69
Ускорение, подобно векторной скорости, является вектором. Оно имеет
Предыдущая << 1 .. 15 16 17 18 19 20 < 21 > 22 23 24 25 26 27 .. 210 >> Следующая