rss
07/07/2012
EN   UA

Час i Події

#2012-27

Ваша точка зору

Майбутнє України – розкол між Заходом і Сходом?!
Так
Ні
Не знаю
Комп’ютерна сторінка \ Слідами Діснея. Вивчаємо Flash

Від редакції:
Ми продовжуємо вивчати технологію Flash, яка дозволяє розробляти інтерактивні мультимедійні програми. Минулого разу ми вивчали інтерфейс середовища розробки. Цього разу перейдемо до суттєвіших моментів.

Основи Flash та ActionScript: типи файлів, з якими повинен навчитися працювати флеш-розробник
В далекому минулому, коли я познайомився зі своєю першою мовою програмування (а нею був basic), – в моїй уяві концепція розробки зводилася до написання коду в одному файлі. Ті елементарні програми, які я створював, були занадто простими, щоб розділяти їх на декілька файлів, і тому такого розподілу я просто не розумів. Навіщо ділити код на кілька частин, якщо набагато зручніше, простіше, зрозуміліше і цілісніше тримати його в одному файлі?..
Згодом я звернув увагу, що більшість програм, якими мені доводиться користуватися, складаються не з одного – а з кількох (іноді – кількох десятків чи навіть сотень) файлів. Така концепція здавалася мені неймовірно складною і я не вірив, що програміст здатен працювати і не заплутатися у всіх цих файлах.
Зайнявшись розробкою програм у Flash, я нарешті зіткнувся з цією проблемою особисто. Адже, створюючи більш-менш складну програму чи флеш-гру, програміст вимушений працювати як мінімум з двома типами файлів (і зазвичай – кількома екземплярами одного з них).

Типи файлів, які використовуються при Flash-розробці
AS файл. Цей файл містить весь програмний код ActionScript 3 – розум вашої програми (гри). По суті він є звичайним текстовим файлом з розширенням *.as
У більш давніх версіях Flash, коли використовувалися версії ActionScript 2 чи навіть ActionScript 1 – більшість кодування відбувалося безпосередньо у кадрах часової шкали. Втім, цей підхід виявився надзвичайно складним і не відповідав принципам об’єктно-орієнтованого програмування, тому йому на зміну прийшло широке використання окремих AS-файлів, які містять код.
Насправді, ви досі можете використовувати часову шкалу для розміщення уривків коду, але AS-файли у більшості випадків справляються з цим завданням набагато ефективніше та дозволяють краще контролювати те, що ви робите.
FLA файл. Це основний файл Flash, який містить всі сирці (source) програми та має розширення *.fla. Саме в цьому файлі зберігаються візуальні об’єкти (графіка), які використовуються у вашій програмі (ігрові персонажі, середовище, елементи дизайну чи оформлення тощо). Якщо AS файл є своєрідним розумом програми, то FLA файл виконує адміністративну роботу і займається безпосередньою роботою інтерпретації та виконання програмного коду (перетворюючи його на робочу програму). FLA файл також може містити вбудовані ресурси (такі як анімація, звуки, відео чи графіка) необхідні для правильної роботи програми.
Це два основні файли, з якими вам як розробнику доведеться постійно працювати. Втім, є і третій файл, який з’являється в результаті компіляції вашої роботи. FLA та AS файли, сполучаючись, утворюють єдиний придатний до виконання файл, який містить як код, так і вбудовані ресурси. Саме його ви завантажуєте на сайт чи надсилаєте друзям, щоб вони могли оцінити вашу роботу. Цей файл має розширення *.swf, і, по суті, є закінченим продуктом: програмою чи флеш-грою.

Використання Flash IDE + FlashDevelop. Базова структура флеш-проекту
Далі ми поговоримо про налаштування віртуального “робочого місця”, яке суттєво спрощує життя розробника.
Справа в тім, що, на відміну від художника або дизайнера, програміст має справу з необхідністю писати багато коду, одночасно оперуючи кількома AS-файлами. А у потужному проекті їх кількість може досягати кількох десятків чи навіть сотень.
Важко сказати, чому Adobe не приділяє цьому питанню більше уваги і чому редактор коду у Flash IDE (ще одна назва знайомого нам Adobe Flash) настільки незручний. Але більшість досвідчених програмістів погоджуються, що працювати безпосередньо з кодом та створювати розгалужені Flash-проекти краще за допомогою сторонніх редакторів.
Для того, щоб вам не довелося набивати синці, вивчаючи роботу відверто “вбогого” вбудованого редактору коду, я розповім про ідеальний, на мою думку, варіант налаштування віртуального “робочого місця”.
Для цього окрім власне Flash IDE (Adobe Flash CS5) нам знадобиться ще один інструмент – Flash Develop – програма для створення флеш проектів та просунутий редактор коду ActionScript (підсвітка коду, автозавершення, автоімпортування, генерування коду та багато іншого). Приємно те, що, на відміну від самого Flash IDE, редактор коду Flash Develop абсолютно безкоштовний і його можна завантажити на офіційній сторінці проекту: http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page

Створення типового проекту за допомогою Flash IDE та FlashDevelop

  Title 
   

Отже, ми завантажили і встановили обидві програми. Спробуймо з’ясувати, як працювати з усім цим “багатством”. Я розповім, як створюю стандартний шаблон проекту для своїх флеш-ігор.
Передусім, потрібно створити папку, в якій знаходитимуться всі файли. Можна дати їй назву гри, наприклад TestGame. Створюємо всередині папки основний fla-файл (TestGame.fla) та відкриваємо його у Flash IDE. Це основа та “серце” нашої майбутньої гри і єдиний fla-файл у проекті. Всі інші файли будуть носіями коду ActionScript та матимуть розширення.as
Можна поки-що “згорнути” програму і продовжити створення структури проекту. Додаємо нову папку з унікальним іменем в папку TestGame. Унікальність імені в даному випадку означає, що у інших програмістів не повинно бути ідентичної папки. Якщо з якихось причин вам доведеться працювати з кодом інших програмістів (або їм з вашим) і імена пакетів збігатимуться – відбудеться “конфлікт”. Найпростіший спосіб досягнути унікальності імені – назвати папку іменем свого домену (якщо він у вас є). Отже, я назвав папку nubcomua.
Всередині папки nubcomua створюємо ще дві папки framework та testgame (збігається з назвою вашої гри). У першій папці буде розміщуватися код, який ви можете захотіти використати повторно: наприклад прелоадер чи стандартні елементи меню. У другій – унікальний набір as-файлів гри, які не будуть повторюватися у ваших інших проектах. Такий розподіл здійснюється для того, щоб в майбутньому вам було простіше працювати з власним кодом та використовувати деякі напрацювання повторно.
Також зверніть увагу, що імена папок пишуться з малої літери. Це пов’язано зі стандартами, які використовуються флеш-розробниками. Імена пакетів у AS-файлах також писатимуться з малої – а це, по суті, і є назви наших папок.
Тепер переходимо до найцікавішого – створення проекту у FlashDevelop. Запускаємо програму, вибираємо в меню Project -< New Project та отримуємо наступне діалогове вікно.
Потрібно ввести назву проекту (TestGame) вказати шлях до проекту (папка з уже створеним fla-файлом) та вибрати тип проекту (AS3). Клікаємо “ОК” та спостерігаємо подальшу картину у панелі проектів.
FlashDevelop може додати свої службові папки та файли до вашого проекту. Не звертайте на них уваги.
Наступний крок: створення основного AS-файла (власника сцени) – тобто скрипта, який одразу завантажуватиметься і починатиме роботу з запуском програми. Саме він буде вхідною точкою нашої гри.

Title   Title
   

 

  Title 
   

Виберіть в меню FlashDevelop File -< New -< AS3 Document. Програма створить порожній файл з базовою структурою класу ActionScript. Збережіть його до папки framework і назвіть, скажімо Main.as (зверніть увагу, що всі AS-файли (класи) прийнято називати з великої літери).
Поки що ми не будемо займатися програмуванням, адже мета даного уроку – розповісти про налаштування робочого середовища та показати елементарну структуру програми. Втім, щоб все працювало коректно, потрібно відразу внести деякі зміни у шаблонний код AS-файлу.
По-перше, потрібно вказати пакет, в якому знаходиться AS-файл (далі я називатиму його класом, бо саме ним він і є) по відношенню до основного файлу TestGame.fla. Прописуємо у першій стрічці код package nubcomua.framework
Це означає, що клас Main знаходиться у папці framework, яка, у свою чергу, знаходиться у папці nubcomua.
По-друге, нам потрібно дати ім’я класу в коді. Оголошення класу здійснюється за допомогою стрічки public class Main
Насамкінець, щоб все працювало коректно, необхідно створити конструктор класу. Для сьогоднішніх потреб нам не потрібно нічого писати у конструкторі – можна залишити його порожнім. В наступних статтях я більш детально розповім, навіщо потрібні конструктори класів та яким чином вони працюють. Конструктор класу створюється за допомогою коду public function Main
Готовий код повинен виглядати так:
package nubcomua.framework
{
public class Main
{
public function Main ():void
{
}
}
}
Якщо все було зроблено правильно, то тепер структура вашого проекту повинна виглядати так:
Це і є базова структура практично для будь-якого типу проектів. В тому числі й ігрових. Продовжуючи розробку, ви будете додавати AS-файли до папок nubcomua та framework. Можливо, створюватимете додаткові папки, щоб зберігати у них набори класів, об’єднаних певними атрибутами. Але про взаємодію класів я розповім у інші статті.
Сьогодні ж залишилося тільки перевірити, чи “бачить” наша програма основний клас Main.as. Для цього повертаємося до Flash IDE, де вже відкритий TestGame.fla. Праворуч у панелі Properties знаходимо поле для введення назви класу. Вводимо туди назву нашого основного класу “власника сцени”, прописавши відносний шлях до нього. В даному випадку nubcomua.framework.Main
Щоб перевірити, чи TestGame.fla “побачив” основний клас, тиснемо на “олівець” навпроти поля введення. Повинно відкритися вікно з кодом класу Main.as. Якщо вам вдалося досягнути такого ефекту – вітаю – ваша перша структура flash-програми створена. І тепер ви готові працювати з Flash IDE та FlashDevelop, розробляючи власні проекти.
А в наступних уроках я розповім, про структуру самих класів та їх елементи.

Автор: Ярослав Федорак
Джерело: http://nub.com.ua

Слідами Діснея. Вивчаємо Flash

 

 

Реклама

© 2006-2011 "Час i Подiї". All Rights Reserved | Chicago Web Design - www.4everstudio.com