Форум 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)
-   -   проблема в цикле (http://www.flasher.ru/forum/showthread.php?t=81896)

Nymzyr 29.06.2006 14:06

проблема в цикле
 
Есть допустим три квадрата, которые надо сбросить драгом в 3 разных локациях.
Создается клип base по размеру квадрата mc, в который будет квадрат сброшен и квадрату присвоются координаты клипа.
Например (полностью коды писать не буду):
Код:

x = mc._x;
y = mc._y;
mc.onRelease = function() {
stopDrag();
if (eval(mc._droptarget) == eval("_root."+base)) {
    mc._x = base._x;
    mc._y = base._y;
} else { //если сброшен не туда, но возвращается на прежнее место
    mc._x = x;
    mc._y = y;
}
}

С этим все ясно. это работает.
Но проблема возникла, когда для кучи клипов ["mc"+i], находящихся в клипе holder, с кучей base создал цикл:
Код:

//продублировал base c разными координатами в цикле:

//цикл:
for (i=0; i<3; i++) {
base.duplicateMovieClip("base"+i, this.getNextHighestDepth(), {_x:100*i, _y:0}); // имеют координаты по х: 0,100,200
holder["mc"+i].onRelease = function() {
stopDrag();
if (eval(this._droptarget) == eval("_root.base"+i)) {
//....координаты = коорд. базы
} else {
//....координаты = прежние
}
};

По идее должны создаться в цикле три функции , где для каждого mc будет своя base.
но ничерта не работает. Если вписать в правой части eval какую-нибудь одну базу. base1 , то все работает. Либо не верно написал там адрес баз в eval, либо i в функцию onRelease не передается нормально. Подскажите?

iNils 29.06.2006 14:39

Nymzyr, вам устное предупрежедние за не использование тегов [code][/code] для кода. Если не исправите сами, то предупреждение будет не устным. Время пошло.


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

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