PDA

Просмотр полной версии : Вопрос про eval...


DmR2008
09.02.2008, 04:44
Уважаемые Господа!
У меня вопрос по eval.

Имеется такой код:

for (i=1; i<=2; i++) {
eval("p"+i).onPress = function() {
getURL(URLs[i]);
};
eval("p"+i).onRollOver = function() {
eval("p"+i)._xscale += numScale;
eval("p"+i)._yscale += numScale;
trace(eval("p"+i)._xscale+":"+eval("p"+i)._yscale);
};
eval("p"+i).onRollOut = function() {
eval("p"+i)._xscale -= numScale;
eval("p"+i)._yscale -= numScale;
trace(eval("p"+i)._xscale+":"+eval("p"+i)._yscale);
};
}

В нем я "унифицировал" действия для 2-х фигур.
В цикле по параметру i происходит обработка событий onPress; onRollOver и onRollOut соответствующей фигуры.
По trace я вижу, что флэш заходит в соответствующие функции корректно. Но сами действия не происходят.
Например, изменяется свойство _xscale, а фигура остается неизменной.

Нужен совет, что я сделал неправильно?

_Nickromant_
09.02.2008, 05:04
По моему eval() уже с Flash 5 нельзя использовать
попробуй вместо eval(), так:
_путь_к_клипу["p"+1]

iNils
09.02.2008, 05:11
for (i = 1; i <= 2; i++) {
var mc = this["p" + i];
mc.i = i;
mc.onPress = function () {
getURL (URLs[this.i]);
};
mc.onRollOver = function () {
this._xscale += numScale;
this._yscale += numScale;
trace (this._xscale + ":" + this._yscale);
};
mc.onRollOut = function () {
this._xscale -= numScale;
this._yscale -= numScale;
trace (this._xscale + ":" + this._yscale);
};
}

DmR2008
09.02.2008, 05:17
Шпасиба! Заработала!