Загрузить PDF
Загрузить PDF
Flash – это популярный формат игр, запускаемых в браузерах. Хотя этот формат сдает позиции мобильным приложениям, многие хорошие игры пишутся именно в этом формате. Во Flash используется ActionScript – это легкий в освоении язык программирования, который позволяет контролировать объекты на экране.
Шаги
-
Придумайте игру (ее сюжет), прежде чем приступить к написанию кода. Во Flash создаются простые игры, поэтому выберите жанр игры и продумайте ее концепцию. Прочитайте статью Как сделать компьютерную игру . Основные жанры включают в себя:
- Бесконечный забег. В таких играх персонаж двигается автоматически, а игрок только направляет его и перепрыгивает через препятствия (или иным образом взаимодействует с игрой).
- Драки. В таких играх главный персонаж должен победить врагов в бесконечных драках/сражениях.
- Пазлы. Игры-головоломки. Варьируются от простейших головоломок (собрать три одинаковых шарика) до сложных головоломок, составляющих основу приключенческих игр.
- РПГ. В таких играх необходимо развивать главный персонаж (его умения, облик, характер), чтобы иметь возможность сражаться с различным противником. Код РПГ-игры намного сложнее кода простейшей игры.
-
Flash лучше подходит для создания 2D-игр (двухмерных). В нем можно создавать и 3D-игры (трехмерные), но для этого нужно очень хорошо знать язык программирования и другие продвинутые приемы. Практически все популярные Flash игры – это двухмерные игры.
- Флеш-игры лучше всего подходит для кратковременных игровых сеансов, потому что в них играют тогда, когда есть свободное время (не более 15 минут).
-
Ознакомьтесь с языком программирования ActionScript3 (AS3), на котором пишутся флеш-игры. Вы можете создать простую игру, имея базовые знания в AS3.
- Есть несколько книг о ActionScript, доступных на Amazon и в других магазинах, наряду с большим количеством учебных пособий и онлайн-примеров.
-
Скачайте Flash Professional. Это платная, но самая лучшая программа, в которой создаются флеш-игры. Есть и другие аналогичные программы, в том числе бесплатные, но зачастую им не хватает совместимости или у вас уйдет больше времени на достижение тех же целей.
- Flash Professional является единственной программой, которая вам понадобится для создания игры.
Реклама
-
Уясните основные структуры кода, написанного на AS3. Есть три основные части любого AS3 кода:
- Переменные. В них хранятся данные (числовые, текстовые, объектные и многие другие). Переменные определяются кодом var
и одним словом.
var playerHealth : Number = 100 ; // "var" – вы определяете переменную. // "playerHealth" – это имя переменной. // "Number" – это тип данных (здесь - числовой). // "100" – значение, приписанное переменной. // Любая строка кода на AS3 заканчивается ";"
- Обработчики событий. Ищут определенные события, которые должны быть выполнены, и сообщают о них другим частям программы. Это необходимо для ввода игрока и повторения кода. Как правило, обработчики событий обращаются к функциям.
addEventListener ( MouseEvent . CLICK , swingSword ); // "addEventListener()" – определение обработчика событий. // "MouseEvent" – категория ввода, ожидаемая к исполнению. // ".CLICK" – определенное событие в категории MouseEvent. // "swingSword" – функция, запускаемая при выполнении события.
- Функции. Разделы программы, определяемые ключевым словом; к ним обращаются по ходу выполнения программы. Код сложной игры может включать сотни функций, а простой игры – только несколько. Функции могут располагаться в произвольном порядке, так как они запускаются только тогда, когда к ним обращаются.
function swingSword ( e : MouseEvent ) : void ; { //Код } // "function" – ключевое слово, вводимое в начале любой функции. // "swingSword" – имя функции. // "e:MouseEvent" – дополнительный параметр, указывающий на то, // что к функции обращается обработчик событий. // ":void" – значение, возвращаемое функцией. // Если значение не возвращается, используйте :void.
- Переменные. В них хранятся данные (числовые, текстовые, объектные и многие другие). Переменные определяются кодом var
и одним словом.
-
Создайте объекты, с которыми будет взаимодействовать игрок. К объектам можно отнести спрайты, персонажей или видеоклипы. В нашем примере простой игры вы будете создавать прямоугольник.
- Запустите Flash Professional. Создайте новый проект ActionScript 3. [1] X Источник информации
- На панели инструментов нажмите инструмент «Прямоугольник». Эта панель может находиться в разных местах в зависимости от конфигурации Flash Professional. Нарисуйте прямоугольник в окне «Сцена».
- Выделите прямоугольник при помощи инструмента «Выделение».
-
Задайте свойства объекта. Для этого откройте меню «Изменить» и выберите пункт «Преобразовать в символ» (или нажмите F8). В окне «Преобразовать в символ» присвойте объекту легко узнаваемое имя, например, «враг» (enemy).
- Найдите окно «Свойства». В верхней части окна расположено пустое текстовое поле, помеченное как «Имя образца» (если навести на это поле курсор). Введите то же имя, которое вы вводили при преобразовании объекта в символ (в нашем примере «враг»). Это приведет к созданию уникального имени, которое можно использовать в AS3 коде.
- Каждый «образец» является отдельным объектом, который зависит от кода. Вы можете скопировать уже созданные «образцы»; для этого несколько раз нажмите «Библиотека» и перетащите «образец» на «сцену». При каждом добавлении «образца» его имя будет меняться («враг», «враг1», «враг2» и так далее).
- Когда вы обращаетесь к объекту в коде, просто используйте имя «образца» (в нашем примере «враг»).
-
Изменение свойств образца. После создания образца вы можете изменить его свойства, например, изменить размер. Для этого введите имя образца, затем «.», затем название свойства, а затем значение:
- enemy.x = 150; Задает положение объекта «враг» по оси Х.
- enemy.y = 150; Задает положение объекта «враг» по оси Y (начало оси Y лежит в верхней точке «сцены»).
- enemy.rotation = 45; Поворот объекта «враг» на 45° по часовой стрелке.
- enemy.scaleX = 3; Растягивает объект «враг» по ширине на множитель 3. Отрицательное значение величины перевернет объект.
- enemy.scaleY = 0.5; Урежет высоту объекта вдвое. .
-
Изучите команду trace() . Она возвращает текущие значения для конкретных объектов и необходима для определения того, что все работает правильно. Не стоит включать эту команду в исходный код игры, но она понадобится вам для отладки программы.
-
Создайте простейшую игру, используя приведенную выше информацию. В нашем примере вы создадите игру, в которой противник будет менять размер каждый раз, как вы щелкните по нему, и до тех пор, пока у него не закончится запас здоровья. [2] X Источник информации
var enemyHP : Number = 100 ; // Задает величину запаса здоровья противника (100 в начале игры). var playerAttack : Number = 10 ; // Задает силу атаки игрока при щелчке по противнику. enemy . addEventListener ( MouseEvent . CLICK , attackEnemy ); // Действие этой функции направлено непосредственно на объект «враг», // то есть функция запускается только тогда, когда щелчок приходится на объект, // а не на другое место на экране. setEnemyLocation (); // Размещает противника на экране. // Запускается в самом начале игры. function setEnemyLocation () : void { enemy . x = 200 ; // Перемещает противника вправо на 200 пикселей от левой части экрана. enemy . y = 150 ; // Перемещает противника вниз на 150 пикселей от верхней части экрана. enemy . rotation = 45 ; // Поворачивает врага на 45 градусов по часовой стрелке. trace ( "enemy's x-value is" , enemy . x , "and enemy's y-value is" , enemy . y ); // Отображает текущую позицию противника для отладки. } function attackEnemy ( e : MouseEvent ) : void // Создает функцию для описания атаки при щелчке по противнику. { enemyHP = enemyHP - playerAttack ; // Вычитает значение силы атаки игрока из значения запаса здоровья противника. // В результате получается новое значение запаса здоровья противника. enemy . scaleX = enemyHP / 100 ; // Меняет ширину на основе нового значения запаса здоровья противника. // Это значение делится на 100, чтобы получить десятичную дробь. enemy . scaleY = enemyHP / 100 ; // Меняет высоту на основе нового значения запаса здоровья противника. trace ( "The enemy has" , enemyHP , "HP left" ); // Отображает потерянный запас здоровья. }
-
Запустите игру. Откройте меню «Управление» и выберите «Протестировать». Запустится ваша игра; щелкните по противнику, чтобы изменить его размер. Отладочная информация будет отображаться в окне «Вывод».Реклама
-
Пакеты. В них (в отдельных файлах) хранятся переменные, постоянные, функции и другая информация; вы можете импортировать пакеты в вашу программу. Используя пакет, уже созданный кем-то, вы сильно упростите себе задачу по созданию программы.
- Прочитайте эту статью для получения подробной информации о том, как работают пакеты.
-
Создание папок проекта. Если вы создаете игру с несколькими изображениями и звуковыми файлами, создайте несколько папок. Это позволит вам не запутаться в различных элементах, а также хранить пакеты в соответствующих папках.
- Создайте базовую папку проекта. В базовой папке необходимо создать подпапку «IMG», где будут храниться изображения, подпапку «SND» для звуковых файлов и подпапку «SRC» с пакетами и кодом игры.
- Создайте папку «Game» в папке «SRC» для файла «Constants».
- Такая структура расположения папок не является обязательной; она приведена в качестве примера упорядочивания и организации элементов вашего проекта (это особенно важно в случае больших проектов). Если вы создаете простую игру (как в нашем примере), никаких папок создавать не нужно.
-
Добавьте звук в игру. Игра без звука или музыки быстро наскучит любому игроку. Вы можете добавить звук с помощью инструмента «Слои». Более подробную информацию об этом поищите в интернете.
-
Создайте файл «Constant». Если в вашей игре много постоянных величин, значения которых не меняются на протяжении всей игры, вы можете создать файл «Constant», чтобы хранить в нем все постоянные величины. Постоянными величинами являются сила притяжения, скорость персонажа и другие. [3] X Источник информации
- Если вы создаете файл «Constant», поместите его в соответствующую папку проекта, а затем импортируйте в пакет. Например, вы создаете файл сonstants.as и помещаете его в папку с игрой. Чтобы импортировать его, вы должны использовать следующий код:
package { import Game . *; }
- Если вы создаете файл «Constant», поместите его в соответствующую папку проекта, а затем импортируйте в пакет. Например, вы создаете файл сonstants.as и помещаете его в папку с игрой. Чтобы импортировать его, вы должны использовать следующий код:
-
Посмотрите игры других разработчиков. Многие разработчики не раскрывают кодов своих игр, но есть множество учебных и других проектов, в которых вы можете посмотреть код. Это отличный способ узнать о некоторых передовых приемах, которые помогут вам при создании хорошей игры.Реклама
Источники
Об этой статье
Эту страницу просматривали 54 085 раз.
Реклама