![]() |
Как задать on(release) кнопкам внутри duplicateMC ?
Уважаемые!
Подскажите, как решить проблему : Копирую Мувики duplicateMovieClip , внутри них - кнопка и динамический текст, подгружаемый из текстового файла ( там же и переменная с количеством копий/кнопок/мувиков). Надобно так же динамически указать, что для очередной кнопки : on(release) { variable = "vasya.htm"; var aaa=eval(variable); getURL=(aaa, numberFrame); } для следующей - variable = "petya.htm"; и т.д (vasya.htm, petya.htm, kolya.htm - в том же текстовом файле...) Но ведь для МovieСlip on(release) задать нельзя ??? Как объяснить флэшу, что внутри дуплицированных Мувиков лежат кнопки, и как они обязаны работать ??? Благодарю за внимание, надеюсь на Вашу помощь |
movieClip.onRelease= function(){}
|
Отвечу сам себе (может еще кому пригодится) :
Ctrl+L , открываем библиотеку и залезаем редактировать свой MC, который мы потом n раз дуплицируем... Выбираем нашу кнопку, которая лежит под Динамическими полями текста, в которые потом будут грузиться всякие тексты... А теперь пишем AS для этой кнопки on(release){ _root.nameclip=this._target; .... получаем имя экземпляра нашей копии MC ... Если все по уму организовано, последним символом будет индекс массива этих мувиков, например authorname7... вырезаем семерку, подставляем ее к имени файла... и загружаем какой ни будь file7.htm в нужный фрейм по событию "on(release)" :D } Все счастливы :) |
Те, кто не очень счастлив, могут обратиться к 7- у элементу массива (скажем, myfiles), который собержит имена необходимых файлов (myfiles[1]=kolya.htm, myfiles[2]=vasya.htm, myfiles[3]=petya.htm ....
|
Любят же некоторые огород городить...
2 Max-Alis:
Все можно сделать НАМНОГО проще. Во-первых в этом случае по ряду причин лучше избегать duplicate. Создаем клип в библиотеке, а затем "выносим" его на экран столько раз, сколько нужно. Для этого: 1. Создаем клип (типа, кнопка) в библиотеке. 2. Делаем ему linkage c экспортом в AS - назначаем имя, например, "mClip" 3. Далее установка на экран: for( vi=0; vi<сколько нужно клипов; vi++ ){ _root.attachMovie( "mClip", "mClip"+vi, vi ); // Из библиотеки tellTarget( "_root.mClip"+vi ){ _x = сколько нужно; // Координаты и все такое _y = сколько нужно; onRelease = function(){ getURL( "name"+vi, куда надо); } } } ВСЕ!!! И установка кнопок, и обработка - все в одном блоке кода. И ни к чему наворачивать вавилоны... |
Да, чуть не забыл.
Для изменения содержимого в динамическом текстовом поле его нужно поместить в исходный библиотечный клип, дав имя, естественно, а в блоке кода перед getURL ввести что-нибудь типа this.имя текстового поля.text = "Мы грузим URL №" + vi; Теперь все. |
| Часовой пояс GMT +4, время: 05:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.