Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.01.2008, 08:49
Salut вне форума Посмотреть профиль Отправить личное сообщение для Salut Найти все сообщения от Salut
  № 1  
Ответить с цитированием
Salut
 
Аватар для Salut

Регистрация: Dec 2005
Сообщений: 52
По умолчанию Уровень мувиклипа

Здравствуйте! Проблема: в руте есть 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 уровень вниз под тот что только что нажали.Помогите пожалуйста

Старый 17.01.2008, 08:54
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
У swapDepths единственный аргумент играет две роли.
1. Указывается непосредственно сама глубина, на которую должен поместиться мувиклип, как в вашем коде.
2. Указывается другой мувиклип, с которым нужно обменться глубинами текущему.

Вам нужен второй вариант.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 17.01.2008, 09:03
Salut вне форума Посмотреть профиль Отправить личное сообщение для Salut Найти все сообщения от Salut
  № 3  
Ответить с цитированием
Salut
 
Аватар для Salut

Регистрация: Dec 2005
Сообщений: 52
Цитата:
Сообщение от iNils
У swapDepths единственный аргумент играет две роли.
1. Указывается непосредственно сама глубина, на которую должен поместиться мувиклип, как в вашем коде.
2. Указывается другой мувиклип, с которым нужно обменться глубинами текущему.

Вам нужен второй вариант.
Я так понял, что в swapDephts надо указывать имя мувика который находится в данный момент на самом высоком уровне? если так то помоему получится как я уже описал, что если нажать на мувиклип который ниже всех, то тот что был выше всех станет на самый низ. или я не прав?

Старый 17.01.2008, 10:01
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Если как аргумент для swapDepths с нижним будет указан верхний - да. А если как аргумент передать результат getNextHighestDepth(), то нижний уйдет наверх, а порядок остальных под ним сохранится
__________________
4am is time to rock

Старый 17.01.2008, 10:22
Salut вне форума Посмотреть профиль Отправить личное сообщение для Salut Найти все сообщения от Salut
  № 5  
Ответить с цитированием
Salut
 
Аватар для Salut

Регистрация: Dec 2005
Сообщений: 52
Цитата:
Сообщение от DarkLight
Если как аргумент для 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]); 
}
все равно , если нажать сначала (!) на самый верхний, потом на самый нижний, то верхний меняется с ним местами. (

Старый 17.01.2008, 13:09
Salut вне форума Посмотреть профиль Отправить личное сообщение для Salut Найти все сообщения от Salut
  № 6  
Ответить с цитированием
Salut
 
Аватар для Salut

Регистрация: Dec 2005
Сообщений: 52
http://www.flashygame.net/d/file/mak...e4f8f2924b.swf
вот пример того эффекта что мне нужен.

Старый 17.01.2008, 13:30
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 7  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Попробуй _root.getNextHighestDepth().

Старый 17.01.2008, 13:35
Salut вне форума Посмотреть профиль Отправить личное сообщение для Salut Найти все сообщения от Salut
  № 8  
Ответить с цитированием
Salut
 
Аватар для Salut

Регистрация: Dec 2005
Сообщений: 52
Цитата:
Сообщение от Волгоградец
Попробуй _root.getNextHighestDepth().
Спасибо, все работает!! теперь обяснил бы мне ктонибудь как это работает, точнее что означачает на нормальный язык .swapDepths(_root.getNextHighestDepth()); какую роль здесь играет _root

Старый 17.01.2008, 14:14
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 9  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
В твоем случае, когда ты использовал this.getNextHighestDepth() - ты ссылался не на уровень основного поля, где находятся все клипы, а на поле того клипа, на который нажимал. Блин, неважный из меня объясняльщик...

Старый 18.01.2008, 07:50
Salut вне форума Посмотреть профиль Отправить личное сообщение для Salut Найти все сообщения от Salut
  № 10  
Ответить с цитированием
Salut
 
Аватар для Salut

Регистрация: Dec 2005
Сообщений: 52
Я понял ) то есть я ссылался не на рут а на временную шкалу клипа.

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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