Я работаю над проектом, использующим Flash Professional и Flash Builder. Художественная команда создает активы в Flash Pro и публикует проект как SWC. Затем я копирую SWC в каталог lib проекта Flash Builder и получаю доступ к этим активам.Как я могу сделать суперкласс, который доступен в Flex и Flash?
Художественная команда создает много предметов того же типа; предположим, что они делают много символов/компонентов ящерицы. Все эти ящерицы имеют похожие анимации (walk_left, walk_right и т. Д.), И из-за этого все они имеют константы, определенные в ActionScript (WALK_RIGHT_START, WALK_RIGHT_END и т. Д.), Относящиеся к ключевым кадрам в их анимации.
С точки зрения Flex, в зависимости от того, какую ящерицу загружаю, я хочу сказать, чтобы она шла слева. Так что я создал суперкласс в Flash Professional, и теперь все классы, как для ящериц в Flash Professional продлить этот класс - Lizard.as
Это все хорошо и хорошо, но когда я хочу, чтобы добавить больше сложности в мои ящерицы, я не хочу открывать проект Flash Pro, редактировать класс, перекомпилировать SWC, отправить его обратно в Flex и затем проверить его. Я хочу, чтобы иметь возможность иметь мою Ящерицу суперкласс доступны для редактирования в Flex - поэтому я сделал еще один суперкласс в Flex: Lizard.mxml
В Flex, каждый компонент ящерицы (как Gecko.mxml) в настоящее время проходит Lizard.mxml, и каждый содержит компонент AS, определенный в SWC (Gecko.as в этом случае).
Это кажется довольно запутанным: компонент mxml, расширяющий суперкласс mxml, содержащий компонент AS, который расширяет AS-суперкласс.
Что я хотел бы сделать, это определить один суперкласс в проекте Flex, чтобы мои компоненты, определенные в Flash Pro, расширили этот класс (это часть, которую я считаю невозможной), а затем добавьте компоненты Flex (Gecko.mxml) расширяют их.
Есть ли способ сделать это?
Если вы создаете только класс AS3, вы можете использовать его как из Flex, так и для Flash и редактировать его в обоих местах. С помощью некоторых путей сопоставления каталогов/библиотек вы можете использовать один и тот же точный файл в обоих местах. Однако, если вы измените этот класс, вам все равно придется перекомпилировать. Вместо того, чтобы расширяться, мне интересно, будет ли композиция работать лучше для вас. Имейте независимый класс, который каждый использует. – JeffryHouser