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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.02.2009, 22:54
Grumble вне форума Посмотреть профиль Отправить личное сообщение для Grumble Найти все сообщения от Grumble
  № 1  
Ответить с цитированием
Grumble
[+6 13.05.06]

Регистрация: May 2006
Сообщений: 29
Question Динамическая генерация кнопок

Привет всем,
Просьба не бить ногами-только разбираюсь в AS.. Вообщем вот задачка: сделал я кнопку на сцене, через AS привязал к ней функцию обработчик, которая при вызове (то бишь нажатии) запускает проигрывание определенного flash ролика на другой сцене. Всё работает.
Теперь задача сделать так, чтобы на сцене было много таких кнопок, а имя ролика привязанного к конкретной кнопке лежит в файле на сервере, и в общем случае этот файл может меняться (его содержимое). Вот вопрос в том, как можно в автомате - то бишь не руками налету лезть в файл на сервере считывать из него список swf файлов, и на сцене налету генерировать для каждого swf кнопку, которая будет его запускать на отдельной сцене?? Хоть куда копать подскажите, а то я не знаю с какой стороны подойти

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
в сторону классов XML и LoadVars
С их помощью Вы сможете обратиться к серверу и получить нужные данные в удобном для Вас формате (LoadVars - строка вида имя=значение&имя2=значение2, а XML - он и есть XML =) - полноценный документ со своей структурой, которую просто обрабатывать)
__________________
...вселенская грусть

Старый 10.02.2009, 23:18
Grumble вне форума Посмотреть профиль Отправить личное сообщение для Grumble Найти все сообщения от Grumble
  № 3  
Ответить с цитированием
Grumble
[+6 13.05.06]

Регистрация: May 2006
Сообщений: 29
Ок.Спасибо,с этим понятно где копаться. А насчёт динамической привязки функции к созданному программно экземпляру символа? Я так понял, что никаких аналогов Сишных указателей или делегатов нету, значит что-то другое должно быть для этих целей..

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Интересно, как Вы так поняли? =)
Все есть
Самое простое: пишите функцию
Код AS1/AS2:
function shaut(){
trace("I was pressed!!!")
}
а затем назначаете её обработчиком события
Код AS1/AS2:
my_butt.onRelease = shaut
Ну это не есть конечно истина в последней инстанции, но принцип, я думаю, понятен
Кнопки можно создавать, например в цикле, и прямо в цикле задавать им обработчики.
__________________
...вселенская грусть

Старый 11.02.2009, 14:42
Grumble вне форума Посмотреть профиль Отправить личное сообщение для Grumble Найти все сообщения от Grumble
  № 5  
Ответить с цитированием
Grumble
[+6 13.05.06]

Регистрация: May 2006
Сообщений: 29
Цитата:
Ну это не есть конечно истина в последней инстанции, но принцип, я думаю, понятен
Кнопки можно создавать, например в цикле, и прямо в цикле задавать им обработчики.
Это понятно, вопрос в том как налету создавать функции-обработчики? Я в цикле генерю экземпляры N символов, это ясно. А как создавать экземпляр функций со своим именем и содержанием? То есть общий шаблон функций один, но в зависимости от инфы в xml файле будут нюансы. Непонятно как во время исполнения программы создавать функции..

Старый 11.02.2009, 15:18
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 6  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Вот для примера кинул код, где мы дублируем кнопки и присваиваем им действия в цикле:
Код AS1/AS2:
for( i = 0; i < total; i++)
	{
		var Soft_Download_item = fm_item.duplicateMovieClip("fm_item"+i, i); // вводим переменную для простоты обращения
		Soft_Download_item._y = i * (fm_item._height + 4);
		Soft_Download_item.Soft_Download_item_title.text = Soft_Download_item_title[i]; // Soft_Download_item_title = массив хранящий текст
		Soft_Download_item.no = i; // запоминаем номер для дальнейшего обращения, к кнопке и  элементам массивов
 
		Soft_Download_item.onRelease = function()
		{
			getURL(Soft_Download_item_url[this.no], '_self' ); // Soft_Download_item_url = массив ссылок
		}
}
При обращении к кнопке мы привязываем ей определенные элемент массива с таким же номером как у кнопки (для простоты),
например есть 5 кнопок, и есть массив с названиями 5ти элементов, в нашем случае мы первой кнопке присваиваем первый элемент массива, второй - второй и т.д.


Последний раз редактировалось nOobCrafter; 11.02.2009 в 15:21.
Старый 15.02.2009, 20:11
Grumble вне форума Посмотреть профиль Отправить личное сообщение для Grumble Найти все сообщения от Grumble
  № 7  
Ответить с цитированием
Grumble
[+6 13.05.06]

Регистрация: May 2006
Сообщений: 29
Ага, оно.Спасибо, вроде понял.

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

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

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


 


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


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