Компілюйте код в flash develop, а графіку в flash ide - regulflash

Говорити я буду про роботу з Flash IDE, Flash Develop (AS3) і GIT.

Flash IDE - використовуйте для роботи з графікою.

FlashDevelop - для коду.

GIT - для контролю версій.

Якщо ви розробляєте більш-менш складну за кодом гру, вам багато доводиться працювати з кодом. Якщо ви керуєте as-файли в Flash Develop, а потім компілюєте гру в Flash IDE - це ваша перша помилка. Я раніше теж так робив. Тепер я роблю графіку в Flash IDE і експортує її в swc-файл. Потім редагую код в Flash Develop і компілює його через Flex.

Цей підхід дає наступні переваги:

  • Компілюється в рази швидше. Компіляція відбувається значно швидше, за рахунок того, що графіка вже «готова до вживання».
  • Flash Develop підхоплює класи з SWC. У коді доступні класи з бібліотеки. Не скажу, що це більше перевага, але це плюс.
  • Працює debug. Дивовижна річ! Раніше у мене налагодження зводилася до застосування trace, а тепер можна робити повноцінну налагодження! У випадках помилки також Flash Develop перемикається на налагодження і зупиняє роботу на рядку з помилкою.
  • Якщо у вас стоїть стара версія FlashDevelop - сміливо видаліть всі призначені для користувача файли (Tools-> Application files) програми та перезапустіть програму.
  • Ще знадобиться Java. NET2-3.

Всім своїм серцем я сподіваюся, що у вас вже встановлений Flex SDK. Якщо немає - встановлюємо (Завантажити Flex 4). Встановленим повинен бути і FlashDevelop (Завантажити FlashDevelop). Там же є інструкція по налаштуванню.

Відкриваємо FlashDevelop. Вибираємо Project-> New Project ... і створюємо проект «AS3 Project».

Після цього повинен вийде приблизно такий склад проекту:

Налаштовуємо Flash IDE. Створюємо новий AS3 проект. Створюємо для перевірки Символ в бібліотеці.

Як ми бачимо, в проекті FlashDevelop з'явився файл swc з списком класів в ньому. Тепер необхідно його підключити: Project-> Properties-> Compiter Options-> Додаємо в SWC Libraries наш swc файл.

Для перевірки спробуємо використовувати клас з swc-файлу в нашому коді (Main.as):

Компілюємо, і бачимо, що все вийшло:

Так, звичайно такий вид роботи вимагає від Вас зміни стилю розробки ігор, якщо ви робили їх по-іншому. Особисто у мене перехід гри на такий стиль зажадав пару годин. Деякі звичні речі доведеться зробити кодом. Але повір'я, все це окупиться тими плюсами, якими володіє даний метод роботи.

Вирішив переробити те, що почав робити, під цей метод. Раніше в бібліотеці був мувікліп button, для нього був прописаний і створений клас (ui.MyButton) з певною функціональністю. Ось вкомпіліл я цей мувікліп в swc. Ну не виходить у мене створити екземпляр цього символу з бібліотеки, і щоб у нього був весь цей функціонал. Створюється я так зрозумів просто екземпляр класу ui.MyButton. Направ на правильний шлях плиз.

Все питання в тому, що виходить ти вкладаєш функціональну частину в swc файл (логіку в графіку), а потім знову цю графіку знову вкладаєш в логіку. Це не правильно з точки зору походу. Я розумію, що це накладає деякі обмеження на процес розробки, але тобі потрібно додавати ui.MyButton вже безпосередньо в коді, програмно задаючи їм позиції.
Наприклад, у мене є MovieClip mcLevelMapLightClass, а функціональність я вже додаю в FlashDevelop:

Далі я знаю 2 варіанти:
1. Зчитувати положення конкретних MovieClip на сцені і замінювати їх вже функціональними з соотв. становищем.
2. Зробити конфігурацію (я зробив в XML) положень елементів і додавати їх в соотв. з цією конфігурацією.
Звичайно, простіше накидати елементи в Flash IDE. А тут доводиться це робити кодом. Спочатку незвично. Але в більшості випадків це займає не так багато роботи, як здається.