PDA

Просмотр полной версии : trace(this._name) не работает!! что не так?


maxx_tlt2
24.02.2009, 14:58
Здравствуйте!
У меня есть кнопка в рабочей зоне. Поставил ей имя "qwe". Хочу при наведении прочитать её имя, т.е. "qwe".
Код кнопки следующий:
on (rollOver, dragOver) {trace(this._name);}
Ничего не происходит!! :bb:

Пишу что то вроде:
on (rollOver, dragOver) {trace(this._name+"23");}
трейсит: 23 :bb:

после долгих заморочек понял что он просит имя не кнопки, а рабочей области! Абсурд какой то, пишу же "this"

КАК ВЫВОДИТЬ ИМЯ КНОПКИ?? :wacko:

iNils
24.02.2009, 15:06
Все верно, код на кнопках всегда ссылается на клип где кнопки расположены.
Пишите код в кадрах.

maxx_tlt2
24.02.2009, 15:15
дело в том, что у меня 50 кнопок (офисные помещения в здании), разных размеров и форм(поэтому немогу генерить).

При наведении на кнопку (офис 101) я должен получать данные из массива с именем of101 например.

Я нехотел делать к каждой кнопке код типа _root.x = of101, т.е. не хотел в кнопках лезть в код вообще (сделать что то универсальное), и решил что просто назову каждую кнопку как офис. А тут такая фигня :(

Что нибудь можете посоветовать? или делать кодом?

iNils
24.02.2009, 15:24
Универсальное на кнопках? :D Это подход 4-ой версии флеша.
У вас 50 кнопок, значит 50 раз повторяется код!
Учите классы.

maxx_tlt2
24.02.2009, 15:30
Спасибо :))

KiL33
24.02.2009, 15:47
Используя это:
for (i in _root) {
можем сделать это:

function addText(obj:Object, hintMessage:String) {
obj.onRollOver = function() {
txt.text=hintMessage
};
}
for (i in _root) {
addText(_root[i],_root[i]._name);
}

В поле txt выводится Instance Name твоего мувика.
:)

chingachgoog
24.02.2009, 19:57
Главное слово тут КНОПКА (объект класса Button). Замените ее на мувиклип (щелчок по Instance behavior) и ваш код даже на мувиклипе (стиль 5-го флеша) заработает.