Flash - популярный формат для браузерных видеоигр, таких как Newgrounds и Kongregate. Хотя формат Flash, как правило, недостаточно используется в мобильных приложениях, все еще есть много качественных игр, которые по-прежнему создаются с использованием Flash. Flash использует ActionScript, язык, который легко изучить и обеспечивает контроль над объектами на экране. См. Шаг 1 ниже, чтобы узнать, как создать простую флеш-игру.
Шаг
Часть 1 из 3: начало работы

Шаг 1. Создайте игру
Прежде чем приступить к программированию, составьте приблизительное представление о своей игре. Flash лучше всего подходит для простых игр, поэтому сосредоточьтесь на создании игр, в которых очень мало игровой механики. Перед запуском прототипа определите жанр и игровую механику. К распространенным флеш-играм относятся:
- Бесконечный раннер: игра автоматически перемещает персонажей. Игроки должны перепрыгивать через препятствия или взаимодействовать с игрой. У игроков обычно есть только один или два варианта управления.
- Бойцы: В игре обычно используется боковая прокрутка. Игроки должны победить врага, чтобы продвигаться вперед. У персонажа игрока есть несколько ходов, чтобы победить врага.
- Головоломки: игроки должны решать головоломки, чтобы пройти каждый уровень. Начиная от стиля объединения трех одинаковых объектов, таких как Bejeweled, до сложных головоломок, таких как приключенческие игры.
- РПГ: Игра фокусируется на развитии персонажа и его прогрессе. Игроки проходят через множество различных ситуаций, а также через разные типы врагов. Механика боя сильно различается, но многие из этих типов пошаговые. Ролевые игры кодировать значительно сложнее, чем простые игры в жанре экшн.

Шаг 2. Разберитесь в преимуществах вспышки
Flash больше всего подходит для 2D-игр. Flash можно использовать для создания трехмерных игр, но это очень сложно и требует дополнительных знаний. Почти каждая успешная флеш-игра имеет формат 2D.
Флеш-игры также лучше всего подходят для быстрых сессий. Это связано с тем, что большинство игроков играют, когда у них мало свободного времени, например, в перерывах, что означает, что игровые сессии обычно длятся максимум 15 минут

Шаг 3. Ознакомьтесь с языком ActionScript3 (AS3)
Флэш-игры программируются в AS3, и вам необходимо иметь некоторое базовое представление о том, как они работают, чтобы успешно создавать игры. Вы можете создавать простые игры с базовым пониманием кода в AS3.
На Amazon и в других магазинах доступно множество книг по ActionScript, а также множество учебных пособий и мероприятий в Интернете

Шаг 4. Загрузите Flash Professional
Эта программа немного дорогая, но она очень хороша для быстрого создания флеш-программ. Есть несколько других программных вариантов, в том числе с открытым исходным кодом, но они, как правило, менее совместимы или требуют больше времени для выполнения той же задачи.
Flash Professional - единственная программа, которая вам понадобится для создания игр
Часть 2 из 3: Написание основных игр

Шаг 1. Изучите основные строительные блоки кода AS3
Базовая игра имеет несколько различных структур кода. Код AS3 состоит из трех основных частей:
-
Переменные - это о том, как хранятся данные. Данные могут быть числами, словами (строками), объектами и т. Д. Переменные определяются кодом var и должны состоять из одного слова.
var playerHealth: Number = 100; // «var» указывает, что вы определяете переменную. // «playerHealth» - это имя переменной. // «Число» - это тип данных. // «100» - это значение, присвоенное переменной. // Все строки ActionScript заканчиваются на ";"
-
Обработчик событий - обработчик событий ищет определенные события, которые произошли, а затем уведомляет остальную часть программы. Это важно для ввода игрока и повторяющегося кода. Обработчики событий обычно вызывают функции.
addEventListener (MouseEvent. CLICK, swingSword); // «addEventListener ()» определяет обработчик событий. // «MouseEvent» - это категория прослушиваемого ввода. // ". CLICK" - это указанное событие в категории MouseEvent. // "swingSword" - это функция, которая вызывается при возникновении события.
-
Функция - фрагмент кода, который назначается ключевому слову и может быть вызван позже. Функции обрабатывают большую часть игрового программирования, а сложная игра может иметь сотни функций. Функции могут располагаться в любом порядке, потому что они работают только при вызове.
функция swingSword (e: MouseEvent): void; {// Ваш код здесь} // «функция» - это ключевое слово, которое появляется в начале каждой функции. // "swingSword" - это имя функции. // «e: MouseEvent» - это добавленный параметр, // указывающий, что функция была вызвана из прослушивателя событий. // ": void" - это значение, возвращаемое функцией. // Если значение не возвращается, используйте: void.

Шаг 2. Создайте объект
ActionScript используется для воздействия на объекты во Flash. Чтобы создать игру, вы должны создавать объекты, с которыми игроки могут взаимодействовать. В зависимости от руководства, которое вы читаете, объекты могут называться спрайтами, актерами или фильмами. В этой простой игре вы создадите прямоугольник.
- Откройте Flash Professional. Создайте новый проект ActionScript 3.
- Щелкните инструмент рисования «Прямоугольник» на панели «Инструменты». Эта панель может находиться в другом месте в зависимости от конфигурации Flash Professional. Нарисуйте прямоугольник в окне сцены.
- Выделите прямоугольник с помощью инструмента «Выделение».

Шаг 3. Установите свойства объекта
Выделите только что выделенный прямоугольник, перейдите в меню «Изменить» и выберите «Преобразовать в символ». Вы также можете нажать F8 как ярлык. В окне «Преобразовать в символ» дайте объекту легко узнаваемое имя, например «враг».
- Найдите окно свойств. В верхней части окна будет пустое текстовое поле с надписью «Имя экземпляра» при наведении на него указателя мыши. Дайте ему такое же имя, как когда вы превратили его в символ («враг»). Это создает уникальное имя для взаимодействия через код AS3.
- Каждое «событие» - это отдельный объект, на который может воздействовать код. Вы можете копировать события, которые были созданы несколько раз, щелкнув вкладку «Библиотека» и перетащив их на сцену. Каждый раз, когда добавляется событие, его имя изменяется, указывая на то, что объект является отдельным («враг», «враг1», «враг2» и т. Д.).
- Когда вы ссылаетесь на объект в коде, просто используйте имя события, в данном случае «враг».

Шаг 4. Узнайте, как изменить свойства события
После создания события вы можете установить его свойства через AS3. Это позволяет вам перемещать объекты, изменять их размер и т. Д. Вы можете настроить свойство, введя вхождение, точку ".", Затем свойство и значение:
- Враг.x = 150; Это влияет на положение вражеских объектов по оси X.
- Враг.y = 150; Это влияет на положение вражеских объектов по оси Y. Ось Y рассчитывается от верха сцены.
- Враг.rotation = 45; Поворачивает вражеские объекты на 45 ° по часовой стрелке.
- Враг.scaleX = 3; Увеличивает ширину вражеского объекта кратно 3. Знак (-) переворачивает объект.
- Враг.scaleY = 0,5; Изменяет высоту объекта на половину его текущей высоты.

Шаг 5. Наблюдайте за командой trace ()
Эта команда вернет текущее значение указанного объекта и полезна для определения, все ли работает должным образом. Вероятно, вы не включите команду Trace в свой окончательный код, но она может быть полезна для определения источника неисправного кода.

Шаг 6. Создайте базовую игру, используя информацию выше
Теперь у вас есть базовое представление об основных функциях. Вы можете создать игру, в которой каждый раз при нажатии на врага размер будет уменьшаться, пока враг не будет уничтожен.
вар врагаHP: Number = 100; // Устанавливает HP (здоровье) врага равным 100 в начале игры. var playerAttack: Number = 10; // Устанавливает силу атаки игрока при нажатии. Враг.addEventListener (MouseEvent. CLICK, attackEnemy); // Добавляя эту функцию непосредственно к вражескому объекту, // эта функция возникает только при щелчке // по самому объекту, а не при щелчке в любом месте экрана. setEnemyLocation (); // Вызывает следующую функцию для размещения // врага на экране. Это происходит при запуске игры. функция setEnemyLocation (): void {противник.x = 200; // Перемещаем врага на 200 пикселей от левого края экрана врага.y = 150; // Перемещаем врага на 150 пикселей вниз от верхнего края экрана врага.rotation = 45; // Повернуть врага на 45 градусов по часовой стрелке trace («значение x врага равно», вражеский.x, «и значение y врага равно», противник.y); // Отображает текущую позицию врага, чтобы найти источник ошибки} function attackEnemy (e: MouseEvent): void // Создает функцию атаки, когда противник щелкает по врагу. // Вычитает значение атаки из значения HP, // Создает новое значение HP. вражеский.scaleX = вражескийHP / 100; // Изменяем ширину в зависимости от нового значения HP. // Значение делится на 100 и затем преобразуется в десятичное. вражеский.scaleY = вражескийHP / 100; // Изменение высоты в зависимости от трассировки нового значения HP («У врагов есть», «HP врага», «Оставшееся количество HP»); // Показывает, сколько здоровья осталось у врага}

Шаг 7. Попробуйте
После того, как вы написали код, вы можете протестировать эту новую игру. Щелкните меню «Управление» и выберите «Тестировать ролик». Игра запускается, и вы можете щелкнуть по вражескому объекту, чтобы изменить его размер. Результат трассировки отобразится в окне вывода.
Часть 3 из 3: Изучение продвинутых методов

Шаг 1. Узнайте, как работают пакеты
ActionScript основан на Java и использует очень похожую систему пакетов. С помощью пакетов вы можете хранить переменные, константы, функции и другую информацию в отдельных файлах, а затем импортировать эти файлы в программу. Это особенно полезно, если вы хотите использовать пакеты, разработанные другими людьми, которые упрощают создание игр.
Ищите руководство на Wikihow для получения более подробной информации о том, как пакеты работают в Java

Шаг 2. Создайте папку проекта
Если вы создаете игру, содержащую изображения и аудиоклипы, создайте в игре структуру папок. Вам будет проще хранить разные типы элементов, а также сохранять разные пакеты для вызова.
- Создайте базовую папку для вашего проекта. В базовой папке создайте папку «img» для всех графических ресурсов, папку «snd» для всех звуковых ресурсов и папку «src» для всех пакетов игры и кода.
- Создайте папку «Игры» в папке «src» для хранения файла констант.
- Эта особая структура не требуется, но облегчит организацию работы всех материалов, особенно для больших проектов. Для простой игры, описанной выше, вам не нужно создавать никаких каталогов.

Шаг 3. Добавьте в игру звук
Игры без звука и музыки быстро утомят игроков. Вы можете добавить звук к объектам с помощью инструмента «Слои».

Шаг 4. Создайте файл констант
Если в вашей игре много значений, которые будут оставаться неизменными на протяжении всей игры, вы можете создать файл констант, чтобы собрать их все в одном месте, чтобы их можно было легко вызывать. Константы могут включать такие значения, как сила тяжести, скорость игрока и другие значения, которые, возможно, потребуется вызывать повторно.
-
Если вы создали файл констант, поместите его в папку в проекте, а затем импортируйте как пакет. Предположим, вы создали файл Constants.as и поместили его в папку с играми. Чтобы импортировать его, используйте следующий код:
package {import Game. *; }

Шаг 5. Посмотрите на чужие игры
Хотя многие разработчики не раскрывают свой игровой код, существует множество учебных проектов и других проектов с открытым исходным кодом, которые позволят вам просматривать код и взаимодействовать с игровыми объектами. Это отличный способ изучить множество передовых методов, которые помогут вашей игре выделиться.