Просмотр полной версии : Уровень мувиклипа
Здравствуйте! Проблема: в руте есть 4 мувиклипа, нужно сделать чтобы их можно было перетаскивать ( с этим вроде проблем нет), но при этом нажатый мувиклип должен выходить на самый высокий уровень, то есть перекрыть всех остальных ( проблема в этом).
Мой код
function dd(mc_name) {
mc_name.onPress = function() {
this.swapDepths(100);
this.startDrag();
};
mc_name.onRelease = function() {
this.stopDrag();
};
}
for (var i = 1; i<=100; i++) {
dd(this["dg"+i]);
}
НО! swapDepths меняет местами уровни мувиклипов и получается, что, если у нас на самом верху есть мувиклип, и мы на жимаем на тот что на 4 уровня ниже, то 1 уходит в самый низ под всех. А надо чтобы он уходил только на 1 уровень вниз под тот что только что нажали.Помогите пожалуйста :(
У swapDepths единственный аргумент играет две роли.
1. Указывается непосредственно сама глубина, на которую должен поместиться мувиклип, как в вашем коде.
2. Указывается другой мувиклип, с которым нужно обменться глубинами текущему.
Вам нужен второй вариант.
У swapDepths единственный аргумент играет две роли.
1. Указывается непосредственно сама глубина, на которую должен поместиться мувиклип, как в вашем коде.
2. Указывается другой мувиклип, с которым нужно обменться глубинами текущему.
Вам нужен второй вариант.
Я так понял, что в swapDephts надо указывать имя мувика который находится в данный момент на самом высоком уровне? если так то помоему получится как я уже описал, что если нажать на мувиклип который ниже всех, то тот что был выше всех станет на самый низ. или я не прав?
DarkLight
17.01.2008, 10:01
Если как аргумент для swapDepths с нижним будет указан верхний - да. А если как аргумент передать результат getNextHighestDepth(), то нижний уйдет наверх, а порядок остальных под ним сохранится
Если как аргумент для swapDepths с нижним будет указан верхний - да. А если как аргумент передать результат getNextHighestDepth(), то нижний уйдет наверх, а порядок остальных под ним сохранится
сделал так:
function Btn_code(mc_name) {
mc_name.onPress = function() {
mc_name.swapDepths(this.getNextHighestDepth());
this.startDrag();
};
mc_name.onRelease = function() {
this.stopDrag();
};
}
for (var i = 1; i<=1000; i++) {
Btn_code(this["subject"+i]);
}
все равно , если нажать сначала (!) на самый верхний, потом на самый нижний, то верхний меняется с ним местами. (
http://www.flashygame.net/d/file/make_up/2007-10-29/f7042f0bfbae0acbc5e7cee4f8f2924b.swf
вот пример того эффекта что мне нужен.
Волгоградец
17.01.2008, 13:30
Попробуй _root.getNextHighestDepth().
Попробуй _root.getNextHighestDepth().
Спасибо, все работает!! теперь обяснил бы мне ктонибудь как это работает, точнее что означачает на нормальный язык .swapDepths(_root.getNextHighestDepth()); какую роль здесь играет _root
Волгоградец
17.01.2008, 14:14
В твоем случае, когда ты использовал this.getNextHighestDepth() - ты ссылался не на уровень основного поля, где находятся все клипы, а на поле того клипа, на который нажимал. Блин, неважный из меня объясняльщик...
Я понял ) то есть я ссылался не на рут а на временную шкалу клипа.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.