Просмотр полной версии : получение имени объекта
Vader666
23.06.2005, 07:27
Значит ситуация такая: в кадре есть порядка 150 одинаковых объектов в виде кнопки. Каждой кнопке задается имя в формате "m101" "m102".... "m1xx", "m201" "m202".... "m2xx", "my01" "my02".... "myxx".
писать обработчик для каждой кнопки как то не очень будет хорошо:
m101.onPress = function() {
trace ("нажали m101");
}
можно ли получить имя нажатой кнопки программно и потом это имя передать дальше допустим скрипту на PHP?
netstuff
23.06.2005, 11:23
m101.onPress = function() {
trace (this._name);
}
на самом деле, имя объекта нужно реже нежели сам объект. в твоём случае, это this
Vader666
23.06.2005, 12:02
m101.onPress = function() {
trace (this._name);
}
на самом деле, имя объекта нужно реже нежели сам объект. в твоём случае, это this
а можно без надписи "m101" перед onPress, чтоб не писать для каждого объекта обработчик события??? их много блин :(
Не совсем понял что ты хочешь, но если их много можно сократить, читай топик
http://www.flasher.ru/forum/showthread.php?t=65856
Перебирай в цикле и вешай на каждую кнопку события
for(var i=0;i<150;i++){
_root["m"+i].onPress = function(){
..........................
}
}
Vader666
23.06.2005, 17:03
2 Nirth & KUZEN:
значит задача такая: есть карта разделенная на несколько областей (это m1, m2, m3..... mx), в каждой области присутствуют несколько точек - кнопок (это 01, 02, ... хх). Теперь нужно чтобы при нажатии на некоторую кнопку - передавалось само имя этой кнопки в скрипт ПХП. Перебирать в цикле смысла нет, так как последняя кнопка имеет имя - m1103, думаю просто тормозить будет потому как ожидается что могут тыркать на кнопки довольно часто.
ЗЫ. сделать для каждой кнопки обработку "тырка" можно, но получается громоздко, просто нет ли более удобоваримого и оптимального варианта?
ты внимательно прочел тот топик? там было предложение создания класса.
Vader666
23.06.2005, 20:48
как работать с классами я совсем не знаю :(
Повесь на кнопку/мувик/ в библиотеке код
this.onPress=function(){
_root.per=this._name//знач.перем.для PHP или чего др.
//это будет строка.....
}
Vader666
23.06.2005, 23:05
пришел в голову только такой вариант.
for (j = 1; j < 12; j++) {
for (i=1; i < 26; i++) {
if (i<10) {
m_tmp = "0" + i;
}
else {
m_tmp = i;
}
metro_pt =
_level0.scroll.tmp_mc["m" + j + m_tmp].onPress = function() {
trace (targetPath(this));
}
}
}
вопрос теперь вот в чем: как это _level0.scroll.tmp_mc будет работать на различных машинах? scroll - это компонент ScrollPane который лежит в корне, а в нем уже сама карта
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.