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

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

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

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
По умолчанию Не могу разобраться с компонентом ComboBox

Здравствуйте! Одна надежда на Вас осталась! Целую ночь брожу по гуглу и никак ничего немогу найти.
Поставил значит я компонент ComboBox, дал ему имя "combo_pogoda" открыл закладку "parameters" начал думать... Вобщем ввел в Value 10 пунктов. В итоге получилось следующее:

data: []
editable: false
lables: [Страна1, Страна2, Страна3, Страна4, Страна5, Страна6, Страна7, Страна8, Страна9, Страна10]
rowCount: 10 (Сразу флеш поставил сам 5 почемуто, я поменял на 10)

А что дальше? Как мне написать, чтобы если юзер выбрал к примеру "Страну1", что-бы сразу произошло:
Код:
_root.countries.gotoAndStop(2);
Помогите пожалуйста мне глупому! А-то я уже прям незнаю что делать.

Заранее благодарю всех откликнувшихся.
__________________
Убейте меня!

Старый 27.05.2008, 09:15
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Откройте обычный хэлп флэша и почитайте про обработчик события change компонента комбобокс.
F1->Component Language Reference->ComboBox component->ComboBox.change

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

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
Хм... Почитал, но всеравно мало, что понял. Понял только следующее:

-Програмно добавляем пункты:
Код:
cbx.addItem({data:1, label:"страна1"});
cbx.addItem({data:2, label:"страна2"});
cbx.addItem({data:3, label:"страна3"});
Создаем переменную, которая будет создавать новый объект:
Код:
var cbListener:Object = new Object();
А вот тут уже говорим, что делать при выборе какого-либо пункта:
Код:
cbListener.change = function(event_obj:Object) {
 trace("Value changed to: "+event_obj.target.selectedItem.label);
};
В данном случае флеш просто выводит надпись, тип "выбран пункт странаX". Я конечно могу написать вместо
Код:
trace("Value changed to: "+event_obj.target.selectedItem.label);
Чтонибудь вроде:
Код:
_root.countries.gotoAndPlay(2)
Но ведь тогда будет переход на 2 фрейм клипа "countries" не зависимо от того какая страна выбрана!

Как мне написать для каждой строны, свой переход??Типа того:
Код:
Страна1 = gotoAndPlay(2);
Страна2 = gotoAndPlay(3);
Страна3 = gotoAndPlay(4);
Ну помогите мне уже глупому! Одна надежда на Вас...
__________________
Убейте меня!

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

Регистрация: May 2008
Сообщений: 476
Дак Вы товарищсч, че в label ту получаете сравнивайте с потребным (if ...label=="страна1" {переходим на соотвествующий кадр 1}, if ...label=="страна2" {переходим на соотвествующий кадр 2}, итд ) и усе будить ОК ОБИ. Лучше конструкцию switch-case использовать

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

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
А где именно надо сравнивать?
В пределах этого кода?
Код:
cbListener.change = function(event_obj:Object) {
 trace("Value changed to: "+event_obj.target.selectedItem.label);
};
__________________
Убейте меня!

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

Регистрация: Apr 2007
Сообщений: 1,369
джонатан, всё верно.
Код:
event_obj.target.selectedItem.label
смотрим, что в лейблах...
Код:
event_obj.target.selectedItem.data
что в датах - делаем после этого какие-то манипуляции.
Код:
event_obj.target.value
- то же что-то должно выдать.
__________________
john

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

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
Так чтоли?

Код:
cbListener.change = function(event_obj:Object) {
   if (event_obj.target.selectedItem.label == "страна1") {
      _root.countries.gotoAndPlay(2);}
}
__________________
Убейте меня!

Старый 27.05.2008, 22:59
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 8  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Цитата:
Сообщение от Alex_beginner Посмотреть сообщение
Дак Вы товарищсч, че в label ту получаете сравнивайте с потребным (if ...label=="страна1" {переходим на соотвествующий кадр 1}, if ...label=="страна2" {переходим на соотвествующий кадр 2}, итд ) и усе будить ОК ОБИ. Лучше конструкцию switch-case использовать
Alex_beginner, выражайтесь нормальным русским языком. Если хотите помочь - помогайте. Коверкание слов и выражений никого не украшает.

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

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
УРААА! Я сделал это! Не без Вашей помощи конечно, уважаемые друзья! Спасибо всем кто помог!

И для тех у кого вдруг появится подобный вопрос (о установке и настройке компонента ComboBox), даю вот этот, код:
Код:
// Тут задаем пункты в комбобоксе.
cbx.addItem({data:1, label:"Выбирай:"});
cbx.addItem({data:2, label:"страна1"});
cbx.addItem({data:3, label:"страна2"});
cbx.addItem({data:4, label:"страна3"});
cbx.addItem({data:5, label:"страна4"});

// Создаем Listener Object.
var cbListener:Object = new Object();

// Прикрепляем функцию к Listener Object.
cbListener.change = function(event_obj:Object) {
 if (event_obj.target.selectedItem.label == "страна1") {
      _root.countries.gotoAndPlay(2);
	  } else if (event_obj.target.selectedItem.label == "страна2") {
			_root.countries.gotoAndPlay(3);
	  } else if (event_obj.target.selectedItem.label == "страна3") {
			_root.countries.gotoAndPlay(4);
	  } else if (event_obj.target.selectedItem.label == "страна4") {
			_root.countries.gotoAndPlay(5);
	  }
};

// Add Listener.
cbx.addEventListener("change", cbListener);
"cbx" - имя ComboBox'a
"countries" - имя клипа который реагирует на выбраный пункт в ComboBox


Кроме этого прикрепляю и исходник

Еще раз спасибо всем, за помощь!
Вложения
Тип файла: rar ComboBox.rar (81.0 Кб, 81 просмотров)
__________________
Убейте меня!


Последний раз редактировалось джонатан; 27.05.2008 в 23:52.
Старый 28.05.2008, 09:37
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 10  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
...else if...
Зачем так. Это не совсем красиво. Почему бы не использовать конструкцию switch-case. Код становиться при множественном выборе куда стройнее.

То, что касается каверканья слов - виноват, исправляюсь.

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

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

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


 


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


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