Як зробити флеш гру: 4 кроків (з ілюстраціями)

Flash-це популярний формат ігор, що запускаються в браузерах. Хоча цей формат здає позиції мобільним додаткам, багато хороші ігри пишуться саме в цьому форматі. У Flash використовується ActionScript-це легкий в освоєнні мову програмування, який дозволяє контролювати об'єкти на екрані.

Частина1З 3:
Початок

  1. Придумайте гру (її сюжет), перш ніж приступити до написання коду.у Flash створюються прості ігри, тому виберіть жанр гри і продумайте її концепцію. Прочитайте статтюяк зробити комп'ютерну гру. Основні жанри включають в себе:
    • Нескінченний забіг. У таких іграх персонаж рухається автоматично, а гравець тільки направляє його і перестрибує через перешкоди (або іншим чином взаємодіє з грою).
    • Бійки. У таких іграх головний персонаж повинен перемогти ворогів в нескінченних бійках / битвах.
    • Пазли. Ігри-головоломки. Варіюються від найпростіших головоломок (зібрати три однакових кульки) до складних головоломок, що складають основу пригодницьких ігор.
    • РПГ. У таких іграх необхідно розвивати головний персонаж (його вміння, вигляд, характер), щоб мати можливість битися з різним противником. Код РПГ-гри набагато складніше коду найпростішої гри.
  2. Flash краще підходить для створення 2D-ігор (двомірних).у ньому можна створювати і 3D-Ігри (Тривимірні), але для цього потрібно дуже добре знати мову програмування та інші просунуті прийоми. Практично всі популярні Flash ігри-це двомірні ігри.
    • Флеш-ігри найкраще підходить для короткочасних ігрових сеансів, тому що в них грають тоді, коли є вільний час (не більше 15 хвилин).
  3. Ознайомтеся з мовою програмування ActionScript3 (AS3), на якому пишуться флеш-ігри. ви можете створити просту гру, маючи базові знання в AS3.
    • Є кілька книг про ActionScript, доступних на Amazon і в інших магазинах, поряд з великою кількістю навчальних посібників і онлайн-прикладів.
  4. Скачайте Flash Professional.це платна, але найкраща програма, в якій створюються флеш-ігри. Є й інші аналогічні програми, в тому числі безкоштовні, але часто їм не вистачає сумісності або у вас піде більше часу на досягнення тих же цілей.
    • Flash Professional є єдиною програмою, яка вам знадобиться для створення гри.

Частина2З 3:
Створення найпростішої гри

  1. Зрозумійте основні структури коду, написаного на 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.
      
  2. Створіть об'єкти, з якими буде взаємодіяти гравець.до об'єктів можна віднести спрайти, персонажів або відеокліпи. У нашому прикладі простої гри ви будете створювати прямокутник.
    • Запустіть Flash Professional. Створіть новий проект ActionScript 3.
    • [1]
    • На панелі інструментів натисніть інструмент "прямокутник". Ця панель може перебувати в різних місцях в залежності від конфігурації Flash Professional. Намалюйте прямокутник у вікні "Сцена".
    • Виділіть прямокутник за допомогою інструменту "виділення".
  3. Задайте властивості об'єкта.для цього відкрийте меню "Змінити «і виберіть пункт» перетворити в символ" (або натисніть F8). У вікні "перетворити в символ «присвойте об'єкту легко впізнаване ім'я, наприклад,» ворог" (enemy).
    • Знайдіть вікно "Властивості". У верхній частині вікна розташоване порожнє текстове поле, позначене як "Ім'я зразка" (якщо навести на це поле курсор). Введіть те ж ім'я, яке ви вводили при перетворенні об'єкта в символ (в нашому прикладі «ворог»). Це призведе до створення унікального імені, яке можна використовувати в AS3 коді.
    • Кожен "зразок" є окремим об'єктом, який залежить від коду. Ви можете скопіювати вже створені "зразки«; для цього кілька разів натисніть» Бібліотека «і перетягніть» зразок «на»сцену". При кожному додаванні "зразка«його ім'я буде змінюватися (»ворог«,» враг1«,» враг2" і так далі).
    • Коли ви звертаєтеся до об'єкта в коді, просто використовуйте ім'я "зразка «(в нашому прикладі»ворог").
  4. Зміна властивостей зразка.після створення зразка ви можете змінити його властивості, наприклад, змінити розмір. Для цього введіть ім'я зразка, потім".", потім назва властивості, а потім значення:
    • enemy.x = 150; задає положення об'єкта "ворог" по осі х.
    • enemy.y = 150; задає положення об'єкта «ворог» по осі Y (початок осі Y лежить у верхній точці «сцени»).
    • enemy.rotation = 45; Поворот об'єкта» ворог " на 45° за годинниковою стрілкою.
    • enemy.scaleX = 3; розтягує об'єкт «ворог» по ширині на множник 3. Від'ємне значення величини переверне об'єкт.
    • enemy.scaleY = 0.5; уріже висоту об'єкта вдвічі.
    • .
  5. Вивчіть командуtrace(). вона повертає поточні значення для конкретних об'єктів і необхідна для визначення того, що все працює правильно. Не варто включати цю команду в вихідний код гри, але вона знадобиться вам для налагодження програми.
  6. Створіть найпростішу гру, використовуючи наведену вище інформацію. у нашому прикладі ви створите гру, в якій противник буде змінювати розмір кожен раз, як ви клацніть по ньому, і до тих пір, поки у нього не закінчиться запас здоров'я.[2]
    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");
     / / відображає втрачений запас здоров'я.
    }
    
  7. Запустіть гру.відкрийте меню "управління «і виберіть»протестувати". Запуститься ваша гра; клацніть по противнику, щоб змінити його розмір. Налагоджувальна інформація буде відображатися у вікні "висновок".

Частина3З 3:
Просунуті прийоми

  1. Пакети. у них (в окремих файлах) зберігаються змінні, постійні, функції та інша інформація; ви можете імпортувати пакети в вашу програму. Використовуючи пакет, вже створений кимось, ви сильно спростите собі завдання по створенню програми.
    • Прочитайте цю статтю для отримання докладної інформації про те, як працюють пакети.
  2. Створення папок проекту.якщо ви створюєте гру з декількома зображеннями і звуковими файлами, створіть кілька папок. Це дозволить вам не заплутатися в різних елементах, а також зберігати пакети у відповідних папках.
    • Створіть базову папку проекту. У базовій папці необхідно створити підпапку "IMG«, де будуть зберігатися зображення, підпапку» SND «для звукових файлів і підпапку» SRC" з пакетами і кодом гри.
    • Створіть папку "Game «у папці» SRC «для файлу»Constants".
    • Така структура розташування папок не є обов'язковою; вона наведена як приклад упорядкування та організації елементів вашого проекту (це особливо важливо у випадку великих проектів). Якщо ви створюєте просту гру (як в нашому прикладі), ніяких папок створювати не потрібно.
  3. Додайте звук до гри. Гра без звуку або музики швидко набридне будь-якому гравцеві. Ви можете додати звук за допомогою інструменту "шари". Більш детальну інформацію про це пошукайте в Інтернеті.
  4. Створіть файл "Constant".якщо у вашій грі багато постійних величин, значення яких не змінюються протягом всієї гри, ви можете створити файл "Constant", щоб зберігати в ньому всі постійні величини. Постійними величинами є сила тяжіння, швидкість персонажа та інші.[3]
    • Якщо ви створюєте файл "Constant", помістіть його у відповідну папку проекту, а потім імпортуйте в пакет. Наприклад, ви створюєте файл сonstants.as і ставите його в папку з грою. Щоб імпортувати його, ви повинні використовувати наступний код:
      Package
      {
      	Import Game.*;
      }
      
  5. Подивіться ігри інших розробників.багато розробників не розкривають кодів своїх ігор, але є безліч навчальних та інших проектів, в яких ви можете подивитися код. Це відмінний спосіб дізнатися про деякі передові прийоми, які допоможуть вам при створенні хорошої гри.

Ще почитати: