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

Якщо ви розробляєте більш-менш складну за кодом гру, вам багато доводиться працювати з кодом. Якщо ви керуєте as-файли в Flash Develop, а потім компілюєте гру в Flash IDE - це ваша перша помилка. Я раніше теж так робив. Тепер я роблю графіку в Flash IDE і експортує її в swc-файл. Потім редагую код в Flash Develop і компілює його через Flex.
Цей підхід дає наступні переваги:
  • Компілюється в рази швидше. Компіляція відбувається значно швидше, за рахунок того, що графіка вже «готова до вживання».
  • Flash Develop підхоплює класи з SWC. У коді доступні класи з бібліотеки. Не скажу, що це більше перевага, але це плюс.
  • Працює debug. Дивовижна річ! Раніше у мене налагодження зводилася до застосування trace, а тепер можна робити повноцінну налагодження! У випадках помилки також Flash Develop перемикається на налагодження і зупиняє роботу на рядку з помилкою.

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

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

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

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


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

зи. або я туплю і в CS4 це теж можна якось включити. )

А ще є страшне колдунство: тиснеш ctrl + b вибираєш, наприклад, for, а він тобі в код заготовочкі вставляє Можна і свої сніппети писати.

Сам поки сиджу на CS4, flex здався страшним, вплане складності. Швидше за все через незнання.
Я так зрозумів основих плюси лише в швидкості компіляції та зручність кодинга?
А що щодо дебагера в CS4, що в ньому не так? Начебто помилки він відловлює, по-принаймні у мене з ним проблем не було. Та й кодіть для мене не велика проблема, наприклад, написати той же for зараз для мене досить швидко. Ось якби FD сам писав би за мене гру, тоді це так)))

Але в будь-якому випадку плюсую, як-небудь спробую зробити, що-небудь просте на твоєму прикладі, тому що швидкість компіляція дуже важлива для мене.

Flex - це по суті набір з компілятора as3 коду, компілятор xmml коду і набору гуёвих бібліотек. Вам же пропонується використовую FD використовувати тільки перше. Тобто той же знайомий вам as3, тільки прогал зручніше і Компільо швидше.
До тмоу ж сам FD дозволяє використовувати Flash IDE для компіляції, але при цьому сам код можна писати в ньому. Просто при компіляції вас кидає в Flash IDE і основний FLA файл повинен бути відкритий.

Є офігенна фіча в FD, яку дізнався зовсім недавно. Якщо хто не чув, про всяк випадок - магічна комбінація ctrl + shift + 1. Пишемо назву функції, котом натискаємо цю комбінацію і генеруємо шаблон функції або наприклад беремо локальну змінну і безболісно переводимо її в змінну класу. Щось ще було, але зараз вже не пам'ятаю.

О, як раз в тему :)

Місяць тому підключав FD проект, але до сих пір проблеми не вирішив:
на всіх машинах (xp sp3, win7 home, win7 ult) при запуску профайлера вилазить помилка:
Метод не знайдений: «Boolean System.Threading.WaitHandle.WaitOne (Int32)

Так само FD трейс в аутпут панель не виводить, і відповідно профайлер не вантажиться. Робота термінова була, тому використовував напівзахід - написав дельфовую прогу і виводив трейс з дебаг плеєра в неї - при зміні файлу лист оновлювався.
Зараз часу побільше, тому спершу у спільноти: чо за ... і як її лікувати. ) Як підключити профайлер і висновок Трейса в аутпут панельку?

Судячи з ексепшіну - це косяк .net фреімворка, скоріше за все туди і треба копати: може версія нижче необхідної або сервіспак не варто.

Будь-які версії в наявності :) Ідея хороша, знесу старі, поставлю новий. Данке.

тільки вінду вчора встановив, така ж помилка була. Це проблема з сервіс паком для фреймворка.
Ось тримай: ок

Все там виводиться. Ви просто не вмієте готувати :) trace виводиться якщо використовувати для запуску дебагверсію флешплейера.
А ще замість Трейса можна використовувати:

Щоб нормально працював trace (та й налагодження теж) потрібно:
1) поставити свіжий FD + NET 2/3 (з усіма сервіспак)
2) перевірити що включені flashviewer, flashconnect, flasdebuger в FD
3) в настройках FD / проекту виставити external player і прописати там debug версію плеєра (який можна знайти в flexsdk).

Схожі статті