![]() |
|
||||||||||
|
|||||
|
[+4 07.10.08]
|
доброго времени суток!
проблема: из массива кнопок одна нажата, требуется определить которая и использовать ее номер в дальнейшем. Единственное, до чего додумался это что-то вроде этого: for (a=0; a<10; a++) {
this.attachMovie("kn", "kn"+a, a);
this["kn"+a]._y = a*30;
this["kn"+a].onPress = function() {
b=String(this).substr(10)
};
}
this.attachMovie("kn", "knn", 100);
knn._x = 500;
knn.onPress = function() {
trace(b);
};
подскажите, пожалуйста ![]() Последний раз редактировалось iNils; 25.09.2008 в 20:57. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну во-первых, имя не изменится. Это меня дома зовут Вадя, а после помещения в офис - Вадим Юрьевич. А кнопка как была kn1, так и останется. Только резать тогда уж надо имя, то есть this._name
а вообще это очень плохая практика! Нормальной практикой является сохранить нужный параметр как собственное свойство кнопки (или клипа)
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 25.09.2008 в 21:02. |
|
|||||
|
.
|
как-то так я бы сделал
var app:Object = this;
var arrayKnopok:Array = new Array();
function whatKnopkaIsPressed(mc:MovieClip):Void {
trace('knopka ' + mc + ' was pressed and it index is: ' + mc.num);
var pressedKnopaIndex:Number = Number(mc.num);
// some your code here like
// this.arrayKnopok[pressedKnopaIndex]
}
for (var i:Number = 0; i < 10; i++) {
this.attachMovie("kn", "kn" + i, i);
this["kn"+i]._y = i * 30;
this.num = i;
this["kn" + i].onPress = function() {
app.whatKnopkaIsPressed(this);
};
}
Последний раз редактировалось dimarik; 25.09.2008 в 21:06. |
|
|||||
|
[+4 07.10.08]
|
спасибо! Я как-то не пользовался свойством этим и подзабыл его...
кнопки - это клипы, я неправильно выразился.А Используйте клипы, они могут запоминать заданные свойства. Например, ID. как тут применить? |
|
|||||
|
[+4 07.10.08]
|
Всем большое спасибо!!!
|
|
|||||
|
.
|
Wolsh, у тебя лучше получается. Объясни человеку что свойство ID ты сам придумал, так же как и я придумал свойство num.
Кстати, не знаю, насколько это считается "нормальной" практикой, но я бы сделал подкласс от MovieClip и ввел бы свойство ID. Dymanic классы зло. Последнее, естессна, относится к AS2. UPDATE Не успел =). goras, Вы быстрее поняли. Последний раз редактировалось dimarik; 25.09.2008 в 21:18. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну, dimarik, Вы всерьез полагаете что goras будет прям щас писать класс?)))) Пусть потренируется пока.
Посмотрел бы я на флэш AS2 без динамического класса МувиКлип))))))) Хотя не, не стал бы я на эту гадость смотреть.
__________________
Reality.getBounds(this); |
|
|||||
|
[+4 07.10.08]
|
до классов я пока не дошел... но все еще впереди, а код потребовался для http://gorasoft.com.ru/kostroma
|
|
|||||
|
.
|
Нормально бы посмотрел на нединамический класс MovieClip в AS2. Кстати, всегда есть способ обратиться к свойству не через дотнотэйшн: this['property']
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|