Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   CS4 Components + Flex 4 SDK (http://www.flasher.ru/forum/showthread.php?t=132938)

mayakwd 23.11.2009 22:34

CS4 Components + Flex 4 SDK
 
Создаем ui.swc следующим путем:
В Flash CS4 IDE создаем новый fla запихиваем в библиотеку все необходимые компоненты.
В параметрах экспорта ставим Export SWC, экспортим и радуемся но не долго.

Подключая swc при компиляции используем элементарный код:

Код AS3:

package {
        import fl.controls.Button;
        import flash.display.Sprite;
 
        public class TestApp extends Sprite {
 
                public function TestApp() {
                        super();
                        var button : Button = new Button();
                        addChild(b);
                }
        }
}

Компилирую с такими параметрами:

-sp src
-sp $FlashConfig/UIComponents
-library-path libs/ui.swc
-library-path $Flex4SDK/frameworks/libs/player/10/playerglobal.swc
-target-player=10
-debug=true

В итоге получаю эксепшн о том что parameter child must be non null.
Проверяю элементарно экпортятся ли ассеты:
Код AS3:

 var buttonSkin : MovieClip = new Button_upSkin();
 addChild(buttonSkin);

Компилятор ругается и говорит что с такими он не знаком и не хочет быть знаком.
Сидим и долго думаем, почему... Путем межевания мыслей приходим к решению: если убрать:
-sp $FlashConfig/UIComponents

То компилятор обращается уже к экcпортированным в swc классам и находит там и Button_upSkin и не Button_overSkin и т.д. и т.п.

Внимание вопрос: почему так происходит, и как этого избежать? Экспортировать только assets в swc или просто напросто не включать исходные пути в пути компилятора?

Или есть решение элегантнее?

DarkLight 23.11.2009 23:31

В моем случае решилось исходными путями+классом, где были проставлены ссылки на все классы скинов, что помогало флексу подцепить их. Элегантность тоже сомнительная.

Dahan 25.11.2009 00:35

Цитата:

Код AS1/AS2:

var button : Button = new Button();
addChild(b);


Если смотреть код класса то переменная b неопределена.

mayakwd 25.11.2009 17:29

Цитата:

Сообщение от Dahan (Сообщение 868109)
Если смотреть код класса то переменная b неопределена.

не придирайтесь я на лету писал - описАлся.


Часовой пояс GMT +4, время: 08:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.