Не удается получить доступ к медиа-активам в SWC - PullRequest
0 голосов
/ 20 февраля 2011

У меня проблемы с доступом к контенту в SWC.Основной проект компилируется без ошибок, но ресурсы (звук, музыка) не отображаются и не воспроизводятся.

Мой рабочий процесс:

i.Использование Flash CS51. Создайте MAsset.fla2. Импортировать звуки, искусство3. Назначьте имена классов, проверьте экспорт в кадре 14а.Запишите классы на панели действий в кадре 14b.ИЛИ ЖЕ.Добавьте класс документа и запишите там классы5. Экспорт SWC.Размер файла аналогичен тому, что происходит, когда я напрямую импортирую ресурсы в основную библиотеку проекта.6. Создайте Project.fla и класс документов Project.as.7. Импортируйте SWC в основной проект через панель Actionscript.8. Добавьте код, который вызывает имена классов из SWC (например, DCL_UI_MOUSE)9. Компиляция.

Нет ошибок компилятора, но ничего не происходит.И полученный размер SWF-файла не отражает ничего, кроме скомпилированного кода из основного проекта.

Что касается шага 4, если я просто напишу имя класса в корневой временной шкале или классе документа, ошибка компилятора будетпрочь и актив, кажется, скомпилирован в SWC.Но я также пытался:

var asset0000:DCL_UI_MOUSE;

И:

var asset0000:DCL_UI_MOUSE = new DCL_UI_MOUSE();

Независимо от того, какие активы не попадают в окончательный SWF.

Что я делаю неправильно

1 Ответ

1 голос
/ 20 февраля 2011

Что именно вы имеете в виду, когда говорите «Импортировать SWC в основной проект через панель ActionScript» и «Добавить код, который вызывает имена классов из SWC»?

Если вы хотите использовать SWC в качестве библиотеки активов, вам нужно

  1. добавить SWC к пути к библиотеке и
  2. всегда добавляйте соответствующие операторы import в код ActionScript.

Там нет третьего шага ™.

Вы также можете использовать ее в качестве общей библиотеки времени выполнения, связавшись с отдельными объектами библиотеки на панели свойств.

Чтобы элементы вашей библиотеки компилировались в SWC, отметьте «экспорт для ActionScript» и «экспорт в кадре 1», затем введите полное имя класса в поле «класс». «Базовый класс» должен быть установлен как flash.display.MovieClip или flash.display.Sprite (для элементов MovieClip) или flash.display.SimpleButton (для элементов Button) - в зависимости от того, какой объект больше подходит

Также обратите внимание, что для имен классов принято использовать верблюжий регистр (например, DclUIMouse). Все заглавные буквы DCL_UI_MOUSE будут использоваться при именовании константы.

...