Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вопрос про eval... (http://www.flasher.ru/forum/showthread.php?t=107789)

DmR2008 09.02.2008 04:44

Вопрос про eval...
 
Уважаемые Господа!
У меня вопрос по 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

Шпасиба! Заработала!


Часовой пояс GMT +4, время: 12:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.