|
|
|||||
попытка разобраться с классами
сразу к сути:
Есть в библиотеке несколько мувиклипов. И есть (вернее в разработке) класс, содержащий свойства и методы. По задумке при вызове конструктора класса ему (конструктору) передаётся параметр, говорящий о том, какой именно мувиклип необходимо приаттачить из библиотеки и наделить оный же описанным в теле класса набором свойств и методов. Как я понимаю, класс должен начинаться так: Помогите пожалуйста с видом конструктора класса. Как передать в конструктор параметр? И как научить основной таймлайн создавать объекты этого класса?
__________________
...вселенская грусть |
|
|||||
Modus ponens
|
Если классу клип передается в параметре, то зачем его от MpvieClip наследовать?
Конструктор в АС - одноименная с классом функция объявленная в теле класса. В АС2 может быть и public и private, не может возвращать значение. Импортировать класс: При условии, что: Папка my находится на класспассе. В папке my есть папка class, в ней location, а в этой последней есть файл MyClass.as. Класс MyClass объявлен как my.class.location.MyClass extends [whatever] implements [whatever] { public function MyClass(clip:MovieClip) { super(); } } [домейн третего уровня вашего сайта: пример com].[домейн второго уровня вашего сайта: пример mysite].[логическая категория, к которой можно отнести класс: пример utilities]. Т.е. если ваш сайт находится по аддрессу: www.mysite.com, то класс будет называться как-нибудь так: com.mysite.utilities.MyClass
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 01.08.2008 в 00:49. |
|
|||||
Спасибо большое wvxvw !
пока всё понятно, и(!) даже работает Буду эксперементировать
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 01.08.2008 в 01:34. |
|
|||||
кстати еще вопросик возник:
приаттачить клип получилось так class Unit { private var _type:String = null; public function Unit(sType:String, sName:String) { _root.attachMovie(sType, sName, _root.getNextHighestDepth()); } } и тогда придётся делать через watch() не охота =) А можно ли мувик из библиотеки сделать экземпляром класса и как? С учётом того что какой именно мувик - изначально неизвестно
__________________
...вселенская грусть |
|
|||||
Цитата:
[Часть, отвечающая за назначение и условия распространения проекта. Я встречал com и org, что говорит о коммерческом или организационном назначении].[имя автора или название авторской организации].[имя проекта].[логическая категория, к которой можно отнести класс: пример utilities].[Название класса] Цитата:
Последний раз редактировалось crazyone; 01.08.2008 в 12:47. |
|
|||||
Modus ponens
|
Систему именования просто позаимствовали из Джавы, откровенно говоря, я не совсем понимаю зачем нужны вообще com/org/что бы то ни было в начале. Т.как эти сокращения давным давно потеряли свое прямое значение. Пример, классы senocular находятся в пакете com.senocular.[whatever], и при этом они используют GDL т.е. абсолютно не коммерческие. просто его сайт тоже senocular.com. Да и вообще, почему-то каждый считает своим долгом изобрести колесо, когда придумывает как ему называть классы =) У MDM, например, классы почему-то называются mdm.[whatever].[ClassName] ну и т.д.
Но в Джаве есть смысл называть именно иcxодя из названия сайта т.как потом легче будет в автоматическом режиме апдейтить импортированые библиотеки, во флеш такая штука пока никак ни в одном ИДЕ не предусмотрена, но я бы все-таки следовал этому принципу, чтобы в случае, если кто-то реализует, можно было бы воспользоваться, а не переделывать =)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 01.08.2008 в 15:48. |
|
|||||
по поводу линкейджа в библиотеке - тогда придётся всем мувикам прописывать
я собираю конструктор, который САМ определяет какой мувик добавить и исходя из этого - какие свойства и методы назначить помимо стандартных мувиклиповских Инженерная мысль дошла вот до чего class Unit{ private var _type:String=null; public function Unit(sTipe:String, sName){ var myClip:MovieClip = _root.attachMovie(sType, sName, _root.getNextHighestDepth()) } //самое интересное public function get _x(){ return myClip._x } public function set _x(){ myClip._x=_x } } а осуществим такой подход? как вы думаете?
__________________
...вселенская грусть |
|
|||||
Modus ponens
|
GDL = General Developer License.
В принципе, аналогично GPL (General Public License). С разницей в том, что специально указано, что код можно модифицировать как угодно, использовать в своих коммерческих проэктах и т.п. Цитата:
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 14:57. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|