PDA

Просмотр полной версии : Нажатие на кнопки при помощи цикла


Art_133
06.02.2009, 00:10
У меня есть к примеру 5 кнопок ссылки на которые грузятся через xml

Сперва я гружу ссылки циклом:

var xml2 = my_xml.childNodes[1].childNodes; // ссылки в этом узле
for (var l:Number = 0; l <xml2.length; l++) {
_root['picLink' + l] = xml2[l].attributes.url;
}
Имеем переменные _root.picLink0, _root.picLink1 ... _root.picLink4 со ссылками на них

Теперь пытаюсь циклом реализовать переход по ссылкам при нажатии на кнопки:

for (var p:Number = 1; p <= 5; p++) {
this[mc + 'p'].onRelease = function() {
getURL(_root['picLink' + p - 1], '_self'); // здесь ошибка!!!
};
}

как правильно реализовать нажатие на кнопку циклом? Или проще для каждой кнопки отдельно написать код для перехода по ссылке?

qazwsx
06.02.2009, 00:25
var buttons:Array = [];

for(var i:Number = 0; i < 5; i++)
{
var mc:MovieClip = attachMovie('blablabla', 'blah!', i);
mc.url = 'http://blah!'+i+'.com';
mc.onPress = goToUrl;
}

function goToUrl():Void
{
getURL(this.url, '_self');
}


Можно так. А можно придумать и получше...

Art_133
06.02.2009, 00:29
Что-то не могу понять ваш код... Зачем атачить клипы если они уже есть на сцене?
П.С. Думаю у меня проблема с синтаксисом а именно в этой срочке:
getURL(_root['picLink' + p - 1], '_self')

qazwsx
06.02.2009, 00:37
А я что должен угадать ваш код и написать его в вашем стиле? Это ответ на вопрос. Рассмотрите его и примените в своем коде или не применяйте это ваше право :).

P.S
this[mc + 'p'].onRelease = function()

^^

this['mc' + p].onRelease = function()

BBOY Ильич
06.02.2009, 00:41
for (var p:Number = 1; p <= 5; p++)
{
var mc:MovieClip = this[mc + 'p'];
mc.link = _root['picLink' + (p-1)];

mc.onRelease = function()
{
getURL(this.link, '_self');
}
}

qazwsx
06.02.2009, 00:42
for (var p:Number = 1; p <= 5; p++)
{
var mc:MovieClip = this[mc + 'p'];
mc.link = _root['picLink' + (p-1)];

mc.onRelease = function()
{
getURL(this.link, '_self');
}
}

Извените...

За такое убивать надо :D

BBOY Ильич
06.02.2009, 00:53
убивайте

Art_133
06.02.2009, 01:13
что-то не работает последний код... Значение переменной picLink0... picLink4 равно undefined
Ладно, спасибо всем за помощь, голова совсем не варит уже, завтра попробую доделать

Добавлено через 7 минут
П.С. Думаю проще создать масив.