Пространства имен ActionScript 3.0, классы встраивания и библиотеки - PullRequest
0 голосов
/ 01 мая 2011

У меня есть два Flash-проекта - projA и projB. оба они имеют FLA, некоторые объекты в соответствующих библиотеках, которые могут быть созданы (экспорт для ActionScript), и множество файлов AS.

Теперь я хотел бы использовать projB внутри projA. Я мог бы просто скопировать все файлы AS projB в папку projA и объединить библиотеки.

Однако - я бы предпочел хранить проекты в своих собственных папках и использовать вместо них пространства имен. Поэтому я установил для всех файлов в projB пространство имен как «projb».

Теперь я могу импортировать эти классы в мой projA, используя import projb.MyClass.

Это работает. Однако проблема в том, что эти файлы классов из projB больше не находят классы, которые были созданы автоматически при помощи «export for actionscript» (те, которые определены в projB.fla).

Я получаю ошибку:

1046: Type was not found or was not a compile-time constant: SomeClassNameDefinedInLibraryOfProjB.

поэтому я попытался встроить projB.swf, используя

[Embed ( source = "ProjB.swf")] //this is in the file MyClass.as on line 12

однако - это дает мне ошибку

C:\Projectfiles\ProjA\projb\MyClass.as, Line 12 'C:\Projectfiles\ProjA\projb\ProjB.swf' results in generated code, cannot use existing class 'projb.MyClass'

а также:

Unable to transcode ProjB.swf

как это сделать правильно? спасибо! * * 1023

1 Ответ

1 голос
/ 14 октября 2011

Вам необходимо указать символ для встраивания. Например:

[Embed (source = "ProjB.swf", symbol = "ProjB")]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...