PDA

Просмотр полной версии : [as2] Передача указателя на самого себя из класса.


ffffff
10.10.2006, 10:56
У меня есть маленький классик, который представляет собой листалку изображений. Часть клипов он подгружает из библиотеки. Так же ему передаётся параметр target где он будет рисовать эту листалку. Но вот появилась проблемка.

Из класса необходимо назначить клипу события, но чтобы из этих собыйтий запускать методы класса приходится писать путь до класса и его название. т.е.

--- класс

this.target.items.item1.onRelease = function(){
// и вот тут вся проблема. Если написать this. то он будет указывать на мови клип а как можно получить указатель на класс?
}

vic_
10.10.2006, 11:11
var ref=this;
this.target.items.item1.onRelease = function(){
ref.yourMethod();
}

оно?

ffffff
10.10.2006, 11:18
вполне возможно. Приду на работу, попробуй. спасибо.

Juice_Green
10.10.2006, 11:24
2ffffff:
использовать Delegate либо DelegateExt (если нужно передавать параметры)

etc
10.10.2006, 13:33
ffffff, во избежание проблем и путаницы уровней вложенности в одном классе не должно быть больше одного.

private function anyClassMethod():Void {
trace('Delegated call');
}
...
this.any_btn.onRelease = mx.utils.Delegate.create(this,this.anyClassMethod);


Впрочем, последнее время я юзаю ascb.util.Proxy…

ffffff
10.10.2006, 15:05
2 Juice_Green. Спасибо. DelegateExt оказалось то, что надо.

2 __etc и тебе спасибо.