какие полезные штуки оказывается .callee и .apply
Спасибо, суть делегэйта я понял.
Единственное место, которое я не могу понять это

Код:
f.arg = arguments.slice(2);
f.target = obj;
f.func = func;
по отношению к функции.
попробовал сделать так:

Код:
class My_Delegate {
static function create(target:Object, func:Function):Function {
return function(){ func.apply(target, arguments.slice(2)) };
}
}
делегейт работает, но 3 параметр не передаётся.
up
Разобрался... функция статичная, надо было сохранить параметры просто
сделал так и вроде работает:

Код:
class My_Delegate {
static function create(target:Object, func:Function):Function {
var t = target;
var f = func;
var a = arguments.slice(2);
var back = function(){ f.apply(t, a) };
return back;
}
}
class my extends MovieClip{
var b = "done";
var btn:Button;
function my(){
trace("конструктор: " + b)
btn.onPress = My_Delegate.create(this, func, btn);
}
function func(caller){
trace(caller);
trace("метод: " + b);
caller._x+=10;
}
}
udaaff, спасибо!