Просмотр полной версии : Как задать on(release) кнопкам внутри duplicateMC ?
Max-Alis
07.10.2002, 06:46
Уважаемые!
Подскажите, как решить проблему :
Копирую Мувики 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(){}
Max-Alis
09.10.2002, 06:36
Отвечу сам себе (может еще кому пригодится) :
Ctrl+L , открываем библиотеку и залезаем редактировать свой MC, который мы потом n раз дуплицируем...
Выбираем нашу кнопку, которая лежит под Динамическими полями текста, в которые потом будут грузиться всякие тексты...
А теперь пишем AS для этой кнопки
on(release){
_root.nameclip=this._target;
....
получаем имя экземпляра нашей копии MC ...
Если все по уму организовано, последним символом будет индекс массива этих мувиков, например
authorname7...
вырезаем семерку,
подставляем ее к имени файла... и загружаем какой ни будь file7.htm в нужный фрейм по событию "on(release)" :D
}
Все счастливы :)
Max-Alis
09.10.2002, 06:58
Те, кто не очень счастлив, могут обратиться к 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;
Теперь все.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.