Написал следующее:
В первом кадре сцены пишу:
var a=[{myText: \'Test1\', myURL: \'
http://test1.ru\'}, {myText: \'Test2\', myURL: \'
http://test2.ru\'}];
var currY = 10;
for(i=0; i
var obj = {myText: a
.myText, myURL: a.myURL, _x: 10, _y: currY};
createEmptyMovieClip("BH"+i, i);
var testb = eval("BH" + i).attachMovie("testButMc","testb"+i, i, obj);
currY += testb.height + 6;
}
далее в библиотеке создаю новый фильм:
при создании задаю Name = testBut, Identifier = testButMc, Export for ActionScript, Export In Firs Frame,
В фильме в первый кадр вставляю
новый слой и в первый кад помещаю динамический текст (инстанс texta), далее создаю новый слой и в первый кадр вставляю:
#initclip
function testBut() {
this.init();
}
testBut.prototype = new MovieClip();
Object.registerClass("testButMc",testBut);
testBut.prototype.init=function(){
this.texta.autoSize = true;
this.texta.text = this.myText;
this.addProperty("width",this.getWidth,null);
this.addProperty("height",this.getHeight,null);
this.onPress = function() {
trace(this.myURL);
getURL(this.myURL,_blank,"GET");
}
}
testBut.prototype.getWidth = function() {
return this.texta.textWidth;
}
testBut.prototype.getHeight = function() {
return this.texta.textHeight;
}
#endinitclip
В результате получаем динамичсеки сгенерированные кнопки с надписями myText и при клике они должны открывать броузер и передавать адрес myURL. Все открывается, только вот при клике скажем на Test2 в адресной строке пишется такая лажа:
_http://test2.ru/?testBut=%5Btype+Function%5D&a=%5Bobject+Object%5D%2C%5Bobject+Object%5D&currY=52&i=2&obj=%5Bobject+Object%5D&testb=%5Flevel0%2EBH1%2Etestb1
причем если перед getURL() поставить trace(this.myURL); то выводится КОРРЕКТНЫЙ текст http://test2.ru