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

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

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

Регистрация: Sep 2006
Сообщений: 33
Flame стандартный comboBox и swapDepths

здравствуйте.
на сцене динамически создается несколько клипов, в каждом текстовое поле и стандартный comboBox. Клипы выстраиваются в ряд по вертикали сверху вниз. В итоге получается что предыдущий comboBox выпадает под последующий (уровнем ниже). подскажите как сделать, чтобы при фокусе на комбобокс, родительский клип становился выше всех остальных клипов на сцене.
Код:
mc.swapDepths(_root.getNextHighestDepth());
не работает

Старый 20.06.2010, 20:55
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 2  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Попробуйте создавать их в обратном порядке и размещать снизу вверх.

Старый 23.06.2010, 07:32
Lukichev вне форума Посмотреть профиль Отправить личное сообщение для Lukichev Найти все сообщения от Lukichev
  № 3  
Ответить с цитированием
Lukichev

Регистрация: Sep 2006
Сообщений: 33
спасибо за ответ, но у меня данные для комбобоксов берутся из xml файла...его потом будет править пользователь....и все данные в обратном порядке заполнять не айс еще варианты есть у кого-нибудь?

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

Регистрация: Feb 2008
Сообщений: 560
Цитата:
Сообщение от Lukichev Посмотреть сообщение
спасибо за ответ, но у меня данные для комбобоксов берутся из xml файла...его потом будет править пользователь....и все данные в обратном порядке заполнять не айс еще варианты есть у кого-нибудь?
Я и не предлагаю указывать их в обратном порядке в XML, я предлагаю парсить XML в обратном порядке, или парсить в прямом, заносить в массив и создавать "с конца".

Старый 23.06.2010, 11:02
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Для ComboBox используем событие open, а не focusIn (последнее происходит почему-то только после отпускания мыши):
Код AS1/AS2:
var lastDepth:Number = this.getNextHighestDepth(); //последний свободный запоминаем
 
var cbListener:Object = new Object();
cbListener.open = function(evt_obj:Object) 
{
	var cb:Object = evt_obj.target ; //ссылка на комбобокс, в котором начал открываться выпадающий список
	var mc:MovieClip = cb._parent ; //ссылка на родительский мувик
	mc.swapDepths(lastDepth); //переводим мувик с комбобоксом на самый верх
};
 
.
.
.
//в процессе добавления мувиков с комбобоксами вешаем слушателя, (предполагаю, что комбобокс имеет имя cb)
mc1.cb.addEventListener('open', cbListener); //можно попробовать использовать событие focusIn, но оно почему-то срабатывает даже позже, чем open 
mc2.cb.addEventListener('open', cbListener);
mc3.cb.addEventListener('open', cbListener);
.
.
.
Вложения
Тип файла: rar comboBox.rar (140.6 Кб, 33 просмотров)


Последний раз редактировалось mooncar; 23.06.2010 в 11:23.
Старый 23.06.2010, 20:26
Lukichev вне форума Посмотреть профиль Отправить личное сообщение для Lukichev Найти все сообщения от Lukichev
  № 6  
Ответить с цитированием
Lukichev

Регистрация: Sep 2006
Сообщений: 33
у меня не сработало
прилагаю исходник...может я не правильно делаю
Вложения
Тип файла: rar combo.rar (142.0 Кб, 52 просмотров)

Старый 23.06.2010, 21:25
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
На высоких уровнях, получаемых с помощью getNextHighestDepth и при программном добавлении комбо-боксов swapDepth тут срабатывает, но визуально этот факт для комбо-боксов в этом проекте почему-то не работает корректно.

Есть простое решение.
Убираем слушателя и swapDepths, убираем getNextHighestDepth при добавлении контейнеров и вывод нового пустого клипа делаем на малые уровни, равные номеру шага цикла - все работает вроде бы верно само по себе, автоматически, с помощью встроенного диспетчера уровней, видимо.

Вообще с компонентами, точнее когда они есть в библиотеке, swapDepths в проекте часто не работает ожидаемо.
Вложения
Тип файла: rar combo_edited.rar (138.0 Кб, 49 просмотров)


Последний раз редактировалось mooncar; 23.06.2010 в 21:46.
Старый 23.06.2010, 21:48
Lukichev вне форума Посмотреть профиль Отправить личное сообщение для Lukichev Найти все сообщения от Lukichev
  № 8  
Ответить с цитированием
Lukichev

Регистрация: Sep 2006
Сообщений: 33
огромное спасибо за помощь

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

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

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


 


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


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