![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Вопрос по созданию компонентов на Flash с использованием AS2.
Пишу текст (dynamic), задаю Instance name конвертирую его в MovieClip. Пишу класс наследуемый от MovieClip, определяю там свои методы и свойства. Потом нажимаю Linkage, там все это прописываю и вроде все ок. Свойства работающие с переменными базового класса (например _x) работают номрмально, но непонятно как поменять надпись, пробовал и по Instance name обращаться говорит что нет такой переменной. Ну или другими словами что я делаю не так? Пример class FCM.Base.Component extends MovieClip { public function get Left():Number { return this._x; } public function set Left(val:Number) { this._x=val; } //Все что выше все работает как надо. // А вот что надо писать ниже что бы оно работало? function get Text():String { return something; } function set Text(str:String) { Do something; } } |
|
|||||
|
[++]
|
Пиши всё в своём мувике тогда уж. Например
типа того
|
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
Дык что писать вместо этого something? я пробовал и text и _text и Instance Name и с this и без. Говорит что нет такой переменной. |
|
|||||
|
[++]
|
Так я ж говорю, пиши не в AS файле, а в мувике, на первом кадре.
|
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
А я хочу создать два (к примеру) компонента и у одного из них потом (когда нибудь) поменять текст написав label2.Text="new text"; |
|
|||||
|
[++]
|
Делаешь символ мувиклип в библиотеке, пишешь в нём методы и члены класса и потом к ним обращаешься.
|
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
Нельзя так классы делать. Инклудом тоже нельзя. Можно только импортом или линкейджем, что и сделано. См первое письмо. |
|
|||||
|
[++]
|
Всё, я сдаюсь
|
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Цитата:
function get Text():String { return eval(_root._target + this)._Text; } function set Text(str:String) { eval(_root._target + this)._Text = str; } _Text это Instance name |
|
|||||
|
Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
|
Правильное решение:
function get Text():String { return eval(this)._Text; } function set Text(str:String) { eval(this)._Text = str; } _Text это Instance name Последний раз редактировалось Denza; 07.07.2004 в 10:52. |
![]() |
Часовой пояс GMT +4, время: 21:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|