вариант, который предложил TTS "стилистически" правильнее, но работать тоже не будет :)
все присвоения, которые вы делаете в теле создаваемой функции произойдут уже в момент ее создания...
то есть сколько нужно раз тем переменным присвоится какое-то значение, но потом, при выполнении онРелизов - желаемого эффекта не будет...

Код:
function setonrelease(subj, a) {
subj.onRelease = function() {
_root.action_man = this.num;
trace(_root.action_man);
};
subj.num = a;
}
for (i=0; i<5; i++) {
setonrelease(this["button"+i], i);
}
так работать будет - то есть в сами кнопки надо запихать свойство, значение которого потом надо передавать в _root.action_man
и вообще - с динамическим созданием функций надо работать оч аккуратно...
мы тут спорили как-то с Джоном по этой части...
...и пришли к выводу, что это может работать самым неожиданным образом :))
например:

Код:
function a() {
var p = "!!!!"
var b = function () {
var test = p
trace(test);
};
var p = "????"
return b;
}
a()();
...улавливаете ? ;)
берем переменную,
создаем функцию, которая использует ее значение
(а указателей-то на строковые и числовые переменные во флэше как-бы нет вообще-то...)
а уже _после_ создания функции меняем значение переменной...
...и что получаем ? функция использует последнее значение _временной_ переменной...
чудеса...