|
|
|||||
strange mood
|
Проблемы с созданием компонента
Нарисовал квадрат, сконвертил в мувик. Сделал класс-пустышку. Мувик связал с классом. Хочу сделать из него компонент. Right-click -> component definition. Прописываю тот же класс и определяю параметры. Жму ок. Выделяю инстанс - в параметрах пусто. Лезу снова в определение компонента - там тоже в параметрах пусто, но все галки которые я ставил и имя класса остаются.
Что я делаю не так?
__________________
тонкий тролль, осеянный благодатью |
|
|||||
В CS3 (as3) компоненты делаются двумя способами:
1. SWC-компоненты - делаются точно так же как и в as2, без изменений. 2. Fla-компоненты: http://www.flashbrighton.org/wordpress/?p=31 |
|
|||||
strange mood
|
Хороший тутор. Но хотелось бы сделать компонент, не наследуясь от UIComponent. Есть что-нибудь на эту тему? В мануалах адоба этот момент так вскользь описан, мол можно, но как - не сказано...
И где можно поподробнее почитать про swc?
__________________
тонкий тролль, осеянный благодатью |
|
|||||
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Всё правильно, никакой особой разницы между SWC и FLA AS3-компонентами нет, просто элементы первого нельзя будет редактировать из среды. Параметры не появятся в панели, пока их названия не будут совпадать с метатэгами inspectable в классе компонента:
[Inspectable(defaultValue="")] public function set content(s:String) { _content = s; } public function get content():String { _content; } Поставьте себе обновление 9.0.3 для Flash CS3 (бесплатно) - там полно информации про создание компонент.
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
strange mood
|
Спасибо, продираемся дальше Непонятки возникли по поводу дефолтных значений параметров. Обратимся к коду:
package{ import flash.display.MovieClip; import flash.events.Event; public class Emitter extends MovieClip{ private var _test:String; /////////////////////////////////////////////////////////////////////////////////////// [Inspectable(name="Test", type="String", defaultValue="My default value")] public function get test():String{ trace('get'); return this._test; }//get test public function set test(value:String){ trace('set'); return this._test=value; }//get test /////////////////////////////////////////////////////////////////////////////////////// //constructor public function Emitter(){ trace(this._test); //Всегда null this.addEventListener(Event.ENTER_FRAME, this.hookAccessibility, false, 0, true); }//constructor /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// private function hookAccessibility(e:Event){ this.removeEventListener(Event.ENTER_FRAME, this.hookAccessibility); this.init(); }//hookAccessibility /////////////////////////////////////////////////////////////////////////////////////// private function init():void{ trace(this._test); }//init /////////////////////////////////////////////////////////////////////////////////////// }//end of Emitter }//package Если же на панели параметров задать значение, отличающееся от дефолтного, то всё норм. Как сделать чтобы нормально подставлялось значение по умолчанию? Дублировать его в теге и ещё где-то в конструкторе не предлагать. По поводу наследования от спрайта: какие ещё методы нужно реализовать и где вообще можно найти их список или интерфейс который должен реализовывать компонент?
__________________
тонкий тролль, осеянный благодатью |
|
|||||
стервочка (я мужик)
|
|
|
|||||
strange mood
|
The class should extend fl.core.UIComponent
The class should extend fl.core.UIComponent The class should extend fl.core.UIComponent Это в лучшем случае. Я создал тему не потому, что мне лень гуглить, а потому что уже неделю не могу найти ничего вразумительного.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
стервочка (я мужик)
|
второй линк в в том месте где Вы умеете гуглить ведёт на мануал от адобы, к которому прилагаются 9 здоровенных ПДФников, в которых всё подробно расписано. чё ещё нужно?
|
|
|||||
стервочка (я мужик)
|
перечитал. и что я должен понять? если вы хотите, что бы я сказал Вам, что если нажать правой кнопкой на мувиклип, там есть пункт "Component Definition", то так и скажите. я лично не понимаю, в чём проблема сделать свой компонент. в хелпе всё подробно описано.
|
Часовой пояс GMT +4, время: 22:27. |
|
« Предыдущая тема | Следующая тема » |
Теги |
компонент |
|
|