![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2005
Адрес: moscow
Сообщений: 26
|
Салют. Не могу справиться с проблемой.
Есть такой фрагмент: class miComboBox {
var __Width:Number;
var __Parent:Number;
...
function miComboBox(__parent:Object,...) {
this.__Parent = __parent;
}
}
Ну и т.п. Теперь если в какой-либо функции внутри этого класса я создаю обработчик на какой-нить клип/кнопку, допустим, onRelease, то у меня this внутри обработчика начинает ссылаться на этот самый родительский клип/кнопку. А вот как из обработчика увидеть __Parent, либо обратиться к какой-либо из функций класса? Последний раз редактировалось iNils; 30.11.2006 в 17:37. |
|
|||||
|
Регистрация: Nov 2005
Адрес: moscow
Сообщений: 26
|
Нет, ну конечно можно перед вызовом обработчика сохранять значение this в клипе, например, так: myMc.parent = this; .
Но просто интересно, может кто-то более элегантное решение знает? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
1) Имена классов должны начинаться с большой буквы
2) Тип свойства указан как Number, а в конструкторе ты присваиваешь Object Проще использовать Delegate/Proxy для перенаправления вызова метода в метод класса. Где-то в соседних темах есть и примеры Delegate (можно пользовать родной mx.utils.Delegate), и Proxy. |
|
|||||
|
Регистрация: Nov 2005
Адрес: moscow
Сообщений: 26
|
странно. разве delegate не к компонентам применяется? а у меня ведь просто movieClip. Proxy тоже не годится. Юзаю пока восьмерку (или опять не прав и под восьмеркой тоже есть flash.utils.Proxy?)
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Proxy подразумевался ascb.util.Proxy, я где-то приводил его код. Есть на person13.com…
В делегат можно юзать и в своих целях. |
|
|||||
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:05. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|