![]() |
|
||||||||||
|
|||||
|
[+1.6 19.12.06]
Регистрация: Nov 2000
Сообщений: 135
|
Сталкиваюсь с такой бедой уже несколько раз, надоело - хочу разобраться!
Есть Класс которий аттачит МС в котором кнопке ( на самом деле мувику) нужно присвоить онРоллОвер и прочие онПресс, чтоб по ним вызывалась функция из этого же класса. вот тут и беда. как дать бедной кнопке понять что нужно функцию вызывать из класса а не искать толко в "себе". Делать класс статичным тоже не очень хороший выход. Как кто реализует такие доступы? для примера: class MyClass {
private var container:MovieClip;
public function MyClass(target:MovieClip) {
container = target.attachMovie("mc", "mc", target.getNextHighestDepth());
container.btn.onPress = function() {
update(); // вот это и не запускается :(
};
}
public function update() {
trace("UPDATE");
}
}
Последний раз редактировалось TbIKBA; 05.03.2007 в 19:34. |
|
|||||
|
[+1.6 19.12.06]
Регистрация: Nov 2000
Сообщений: 135
|
А если не сложно на можешь на моём примере показать? а то чтот я читаю и не вкуриваю совершенно как она работает..
![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
import mx.utils.Delegate
class MyClass {
private var container:MovieClip;
public function MyClass(target:MovieClip) {
container = target.attachMovie("mc", "mc", target.getNextHighestDepth());
container.btn.onPress = Delegate.create (this, update);
}
public function update() {
trace("UPDATE");
}
}
|
|
|||||
|
Регистрация: Dec 2006
Сообщений: 230
|
А что, по-простому уже не модно?
|
|
|||||
|
Регистрация: Dec 2006
Сообщений: 230
|
Были разные. Теперь область видимости одна. Работает. А все потому что присутствовала порочная методика определения метода в методе...
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ariel, свой код нужно проверять перед публикацией. Он не рабочий. Трейс сработает, да. А вот trace(this) выведет совсем не то, что ожидалось. Области разные.
|
|
|||||
|
Регистрация: Feb 2006
Сообщений: 588
|
iNils, ты привел пример про область видимости функций, а как быть с областью видимости объектов, заданных в этом же классе?
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Если я верно понял вопрос, то я не использую классический Delegate, а использую свой в котором можно передавать аргументы (вообще есть и другие реализации). Если мне нужно, что бы внутри update я мог ссылать на объект который вызвал этот update, то я указываю его в качестве параметра. А писать как предложил Ariel в корне не верно.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|