![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2006
Сообщений: 12
|
Есть допустим три квадрата, которые надо сбросить драгом в 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 {
//....координаты = прежние
}
};
но ничерта не работает. Если вписать в правой части eval какую-нибудь одну базу. base1 , то все работает. Либо не верно написал там адрес баз в eval, либо i в функцию onRelease не передается нормально. Подскажите? Последний раз редактировалось Nymzyr; 29.06.2006 в 15:14. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|