![]() |
Множественное наследование или траблы с SWC
Столкнулся с проблемой, попробую описать её на простеньком примере:
1. Есть fla файл в котором есть графика - круглый, зелёный шарик. 2. Есть класс который описывает поведение шарика, Ball.as 3. Всё это нужно запихнуть в SWC и использовать в FlashDevelop. 4. Возникает первый вопрос: Для того чтобы я мог нормально юзать свою графику мне необходимо отнаследоваться от класса который создал сам флеш в своих Properties (допустим какой-то Ball_swc). Получается у меня есть реальный класс и тот что создаётся в момент компиляции. В итоге Ball extends Ball_swc и вроде бы всё ок. Но... мне нужно сейчас отнаследовать Ball от более общего класса BasicBall, но при этом сохранить всю доступную мне в swc графику. В итоге получается конструкция в которой уникальными всегда являются Ball и Ball_swc, но общим для всех будет класс BasicBall...как я могу реализовать подобную конструкцию? |
Вероятно интерфейсами.
|
см. мои посты http://www.flasher.ru/forum/showthread.php?t=147884
Метод мутный, но позволит решит твою проблему именно в таком виде, как ты её обозначил. Т.е. во Flash IDE указываешь пару class+baseclass BallAsset+Ball, при этом пустой класс Ball (просто extends MovieClip) зашивает в swc, а при компиляции подменяется на реальный Ball extends BasicBall.. Ну или сразу Ball+BasicBall. |
А почему Ball_swc не наследовать от BasicBall? Или хочешь, чтоб в Ball_swc была чистая графика? Тогда функциональность из BasicBall в Ball можно добавить композицией вместо наследования
|
Решил сделать через code behind, как советовал fljot т.к. мне этот метод показался самым простым...т.е. я наследуюсь от BasicBall, это мой базовый класс. А в FD уже екстендю свой Ball от Ball_swc. Какие минусы есть у подобного подхода? И можно пару статей по созданию композиции? А то я никогда их не создавал
|
@Universe
ты понял, что по моему способу реальные классы в swc не должны попадать? Чтобы компиляция fla-swc была безболезненная (мало ли что в базовом классе и его зависимостях), быстрая и чтобы не надо было перекомпиливать swc при изменении базовых классов? |
Я за композицию.
Ball_swc - просто мувик, т.е. графика. Ball - наследуется от BallBasic и содержит в себе графику - Ball_swc |
Dukobpa3 - все верно описал, и даже немного перегнул, мне кажется достаточно
class Ball extends Ball_swc , но в зависимости от конкретной задачи, возможно и такое поведение , как показал автор. Такая композиция верна по всем хар-ам |
| Часовой пояс GMT +4, время: 01:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.