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

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

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

Регистрация: Dec 2007
Сообщений: 25
По умолчанию Как сделать много кнопок/баттонов, подписи которых находятся в array()

Сабж. не соображу каким макаром. Подкинте идею плиз.

Старый 20.01.2008, 03:24
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 2  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
в каком смысле подписи?

Код:
var array:Array = new Array('о нас', 'о вас', 'о них');

for(var i:Number=0; i<array.length; i++){
      this['btn'+i].txt.text = array[i];
}

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

Регистрация: Dec 2007
Сообщений: 25
Этто понятно, спасибо. Я с флашем недавно, с PHP много работал, поэтому может глупо спросил..
Надо создать с десяток кнопок, у каждой естественно свой линк и надпись (array). Не хочется их рисовать, xочется програмно. В помощи не найду как кнопки динамически создаются. createTextField() уже знаю . А чет подобное с кнопками не найду. Есть такое?

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

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Код:
var array:Array = new Array('о нас', 'о вас', 'о них');

for(var i:Number=0; i<array.length; i++){
   var btn:MovieClip = _root.createEmptyMovieClip('btn_' + i, i);
   btn._y = 15*i;
   var btn_txt:TextField = btn.createTextField('txt', 0, 0, 0, 50, 20);
   btn_txt.text = array[i];
}
или вытаснивать из библиотеки:
Код:
var array:Array = new Array('о нас', 'о вас', 'о них');

for(var i:Number=0; i<array.length; i++){
   var btn:MovieClip = _root.attachMovie('btn', 'btn_'+i, i);
   btn._y = 15*i;
   var btn_txt:TextField = btn.createTextField('txt', 0, 0, 0, 50, 20);
   btn_txt.text = array[i];
}


Последний раз редактировалось MrPoma; 20.01.2008 в 04:45.
Старый 20.01.2008, 04:44
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 5  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
createEmptyMovieClip() - создаем клип
lineStyle(), beginFill(), moveTo(), lineTo() - рисуем кнопку внутри созданного клипа
createTextField() - уже знаем
_btn.onRelease - цепляем клик на созданный клип _btn

все это делаем в цикле, как показал MrRoma

p.s. не успел

Старый 20.01.2008, 04:44
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 6  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Код:
var array:Array = new Array ('о нас', 'о вас', 'о них');

for (var i:Number = 0; i < array.length; i++) {
	var btn:MovieClip = _root.createEmptyMovieClip ('btn_' + i, i);
	btn._x = 20;
	btn._y = i * 50 + 20;
	btn.name = array[i];

	var txt:TextField = btn.createTextField ('txt_' + i, i, 0, 0, 0, 0);
	txt.autoSize = true;
	txt.selectable = false;

	txt.text = array[i];

	btn.onPress = init;
}

function init () {
	trace (this.name);
}

Старый 20.01.2008, 13:05
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 7  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Цитата:
Сообщение от Mr.Fixit
Код:
var txt:TextField = btn.createTextField ('txt_' + i, i, 0, 0, 0, 0);
зачем вы текстовые поля внутри кнопки размещаете на i-ом уровне?

так же проще:
Код:
var txt:TextField = btn.createTextField ('txt', 0, 0, 0, 0, 0);

Старый 20.01.2008, 14:02
Светлан вне форума Посмотреть профиль Отправить личное сообщение для Светлан Найти все сообщения от Светлан
  № 8  
Ответить с цитированием
Светлан

Регистрация: Dec 2007
Сообщений: 25
O!!! Всем спасибо, буду разбиратся
.............
Разобрался, еще раз спасибо. Закрыто.


Последний раз редактировалось Светлан; 20.01.2008 в 14:39.
Старый 20.01.2008, 17:02
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 9  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
не проще, а правильнее..)
ошибся

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

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

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


 


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


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