Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не импортируется пакет fl (http://www.flasher.ru/forum/showthread.php?t=131560)

Furinax 23.10.2009 13:42

Не импортируется пакет fl
 
Пытаюсь импортировать RadioButton
Код AS1/AS2:

import fl.controls.RadioButton;

получаю в ответ:
1172: Definition fl.controls:RadioButton could not be found
Пытаюсь это сделать во Flash CS4.

за неимением опыта, даже не представляю из-за чего может возникать эта проблема. Пожалуйсто помогите, заранее спасибо.

switcher! 23.10.2009 13:56

насколько помню - надо еще сам компонент перетащить в библиотеку из панели компонентов.

Furinax 23.10.2009 14:03

а если я загружаю компонент из внешней библиотеки?

вот код библиотеки:
Код AS3:

package test {
        import flash.display.MovieClip;
 
        public class LibraryClass extends MovieClip {
 
        public var radBtnClass:Class = RadBtn;
                public function LibraryClass() {
                };
        };
}

а вот код основного класса (при компиляции которого и возникает эта ошибка) самого фалйа, куда все загружается:
Код AS3:

package test {
        import flash.display.MovieClip;
        import flash.display.Loader;
        import flash.net.URLRequest;
        import flash.system.LoaderContext;
        import flash.system.ApplicationDomain;
        import fl.controls.RadioButton;
 
        public class Story extends MovieClip {
                private var library:Object;
 
                public function Story() {
                        var urlReq:URLRequest = new URLRequest("library.swf");
                        var ldrContext:LoaderContext = new LoaderContext (false, ApplicationDomain.currentDomain);
                        var ldr:Loader = new Loader();
                        ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
                        ldr.load(urlReq);
                };
 
                private function loaded(event:Event):void {
                        library = event.target.content;
                        initClasses();
                };
 
                private function initClasses():void {
                        var radBtn1:RadioButton = new library.radBtnClass();
                        var radBtn2:RadioButton = new library.radBtnClass();
                };
        };
}

Добавлено через 57 минут
и вообще при загрузке компонентов из другого файла, а потом добавлении их в список отображения возникает ошибка на этапе выполнения:
Error: Error #2136: SWF-файл file:///E|/Furinax%20Tribe/Flash%20works/тестовое%20RM/AppleStory.swf содержит недопустимые данные.
at rmtest::AppleStory/initClasses()
at rmtest::AppleStory/loaded()

Может че-то не так с моим способом загрузки внешней бибилотеки?

switcher! 23.10.2009 16:16

что-то я вас совсем не пойму.
1.
Цитата:

код библиотеки
это код класса, содержащего (как я понял из контекста) ссылки на другие классы. А в конечном итоге вы планируете получить swf-контейнер классов.
Если так, ТО - какой смысл? не проще ли к основному классу подключить swc?

2. Зачем вам в основном классе var ldrContext:LoaderContext, если оно нигде не используется ?

3.
Цитата:

Код AS3:

var radBtn1:RadioButton = new library.radBtnClass();
var radBtn2:RadioButton = new library.radBtnClass();


основной класс все равно должен иметь определение RadioButton (импорт + сам компонент в своей собственной библиотеке), либо подключенное swc, но тогда создание swf-контейнера теряет актуальность.

P.S. А зачем такие манипуляции? переносите компоненты из Flash CS3/CS4 в FD ?

Furinax 23.10.2009 16:27

Цитата:

Сообщение от switcher! (Сообщение 860068)
что-то я вас совсем не пойму.
[b]1.[//quote]
это код класса, содержащего (как я понял из контекста) ссылки на другие классы. А в конечном итоге вы планируете получить swf-контейнер классов.
Если так, ТО - какой смысл? не проще ли к основному классу подключить swc?

2. Зачем вам в основном классе [i]var ldrContton = new library.radBtnClass();[/as3]

основной класс все равно должен иметь определение RadioButton (импорт + сам компонент в своей собственной библиотеке), либо подключенное swc, но тогда создание swf-контейнера теряет актуальность.

P.S. А зачем такие манипуляции? переносите компоненты из Flash CS3/CS4 в FD ?[/quote]

1. Да, это код класса, содержащего ссылки на другие классы. В конечном итоге я получил swf-контейнер с класами.
А подключение swc решит проблему с использованием компонентов?

2. ldrContext остался после упрощения класса, забыл убрать, спасибо, что напомнили.

Ну такие манипуляции затем, что пока что ни разу не создавал swc и думал обойтиь без него. Но видимо не получится, придется осваивать новое.
Спасибо за помощь!

Добавлено через 34 минуты
т.е. получается в качестве внешней библиотеке использовать swf файл нельзя, если в нем содержатся компоненты, которые нужно будет извлечь?

Alex Lexcuk 23.10.2009 17:29

Цитата:

Сообщение от Furinax (Сообщение 860071)
т.е. получается в качестве внешней библиотеке использовать swf файл нельзя, если в нем содержатся компоненты, которые нужно будет извлечь?

Можно использовать, только это пролемно, надо его загрузить и достать эти компонетны.
http://www.murmadillo.tut.su/html/swf-lib.html

Furinax 30.10.2009 19:23

У меня возник вопрос.
Можно ли считать swc-файл внешней библиотекой ? Или же внешней библиотекой может считать только swf-файл, содержащий в себе все классы и графику?

SamFR 30.10.2009 21:00

swc – это почти тот же самый swf, поэтому библиотекой можно считать и то, и другое.

Furinax 30.10.2009 21:13

Еще есть мнения?
Мне просто очень интересно кто как считает.

Добавлено через 2 часа 14 минут
Просто есть люди, которые считают внешней библиотекой - только swf файл.

Felicast 31.10.2009 00:20

swf - это swf файл. просто умельцы приспособились вытаскивать из него ресурсы посредством всяких Embed (я не против, просто так оно и есть)
swc - это просто набор классов, так что его и можно считать библиотекой.


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

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