![]() |
|
||||||||||
|
|||||
|
[+6 13.05.06]
Регистрация: May 2006
Сообщений: 29
|
Привет всем,
Просьба не бить ногами-только разбираюсь в AS.. Вообщем вот задачка: сделал я кнопку на сцене, через AS привязал к ней функцию обработчик, которая при вызове (то бишь нажатии) запускает проигрывание определенного flash ролика на другой сцене. Всё работает. Теперь задача сделать так, чтобы на сцене было много таких кнопок, а имя ролика привязанного к конкретной кнопке лежит в файле на сервере, и в общем случае этот файл может меняться (его содержимое). Вот вопрос в том, как можно в автомате - то бишь не руками налету лезть в файл на сервере считывать из него список swf файлов, и на сцене налету генерировать для каждого swf кнопку, которая будет его запускать на отдельной сцене?? Хоть куда копать подскажите, а то я не знаю с какой стороны подойти ![]() |
|
|||||
|
в сторону классов XML и LoadVars
С их помощью Вы сможете обратиться к серверу и получить нужные данные в удобном для Вас формате (LoadVars - строка вида имя=значение&имя2=значение2, а XML - он и есть XML =) - полноценный документ со своей структурой, которую просто обрабатывать)
__________________
...вселенская грусть |
|
|||||
|
[+6 13.05.06]
Регистрация: May 2006
Сообщений: 29
|
Ок.Спасибо,с этим понятно где копаться. А насчёт динамической привязки функции к созданному программно экземпляру символа? Я так понял, что никаких аналогов Сишных указателей или делегатов нету, значит что-то другое должно быть для этих целей..
![]() |
|
|||||
|
Интересно, как Вы так поняли? =)
Все есть Самое простое: пишите функцию а затем назначаете её обработчиком события Ну это не есть конечно истина в последней инстанции, но принцип, я думаю, понятен Кнопки можно создавать, например в цикле, и прямо в цикле задавать им обработчики.
__________________
...вселенская грусть |
|
|||||
|
[+6 13.05.06]
Регистрация: May 2006
Сообщений: 29
|
Цитата:
![]() |
|
|||||
|
Вот для примера кинул код, где мы дублируем кнопки и присваиваем им действия в цикле:
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. |
|
|||||
|
[+6 13.05.06]
Регистрация: May 2006
Сообщений: 29
|
Ага, оно.Спасибо, вроде понял.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|