Вход

Просмотр полной версии : dublicate movie и ID


Maul
08.06.2007, 18:25
доброго времени суток. Не знаю к кому обратиться за помощью, знакомых флешеров у меня нет, осваиваю самостоятельно..вот назрел вопрос, на который никак не могу найти ответ. всеми любмый поиск не юзал, не знаю как коротко сформулировать запрос.. Вообщем проблема заключается в следующем:
у меня есть кнока с текстовым полем. я помещаю ее на рабочий стол. в скрипте делаю ее невидимой, и размещаю с помощью дубликейт ее копии. Все это делается немного по переделке данного (http://www.intuit.ru/department/internet/flashmxascript/10/2.html) урока. Когда загружается мувик у меня автоматически появляется определенное количество кнопок.
Идем дальше - у меня есть несколько объектов одного класса.
например:
класс:
myClass = function (name1, name2, name3) {
this.name1 = name1;
this.name2 = name2;
this.name3 = name3;
}
экземпляры:
myObject1 = new myClass ("some_name_1.0", "some_name_1.1", "some_name_1.2");
myObject2 = new myClass ("some_name_2.0", "some_name_2.1", "some_name_2.2");
myObject3 = new myClass ("some_name_3.0", "some_name_3.1", "some_name_3.2");
На сцене есть заранее созданные динамические поля, куда с помощью созданной функции, в зависимости от того, какую кнопку нажмешь, заносятся текстовые данные some_name_1.0, some_name_1.1 и так далее определенного объекта.
в том уроке, при динамическом создании кнопок использовалась конструкция:
var i = -1;
while (++i < numberOfButtons) {
name="item" + i;
item.duplicateMovieClip(name, i);
this[name].itemName.text = buttonNames[i];
this[name]._x = 0;
this[name]._y = i * spacing;
this[name].pictureID = i + 1;
}
здесь вот и возникает у меня трудность.
this[name].pictureID = i + 1; - это, насколько я понимаю, ID кнопки. Но вот как ее привязать к определенному объекту я не понимаю.
допустим у меня ID = 3. То есть третья кнопка.
тогда я в on (release) должен буду вызвать функцию, которая будет заполнять текстовые поля в зависимости от ID. Но как? ID = это число.
я делал так:
// функция заполнения текстовых полей
function loadTextField (myClass) {
textField1.text = myClass.name1;
textField2.text = myClass.name2;
textField3.text = myClass.name3;
}
теперь, когда я буду вызывать функцию, мне нужно будет в качестве параметра myClass указать конкретное имя объекта, например: myObject1. После этого, у меня на экране будет результат:
"some_name_1.0", "some_name_1.1", "some_name_1.2"в тектовых полях. Если поменять значение на myObject2, то будет "some_name_2.0", "some_name_2.1", "some_name_2.2" в тектовых полях и так далее. Но это если менять вручную. И вот собственно суть вопроса - а как же поменять используя ID? Склеить "myObject"+ID не получается, вручную перебирать елементы нету возможности, потому что слишком много объектов у меня...вообещем...на знаю, что делать.
Я тут очень много чего нагородил, трудно будет кому-то разобраться, но если у кого-нить будет время, подскажите или поправте, если что не так делаю..я только учусь, а спросить могу только вот на форуме ибо больше негде..
фла (http://img0.liveinternet.ru/images/attach/b/0/3586/3586949_examp.zip)