PDA

Просмотр полной версии : TextField Destroyer


Fl00r
17.06.2005, 00:19
Вот две ф-ции. Одна создает текстовое поле с названием картинки, другая его, по идее, удаляет.
Раньше все работало пучком.
Но после того как я начал работать с компонентами (не знаю как это связано), но при удалении текстового поля... оно не удаляется. Остается border и текст. Фон удаляется... Что делать?


popup = function (text) {
this.createTextField("popuper", this.getNextHighestDepth()+1, _root._xmouse-100, _root._ymouse+10, 100, 20);
popuper.background = true;
popuper.border = true;
popuper.autoSize = true;
popuper.html = true;
popuper.multiline = true;
popuper.htmlText = text;
};
destroyer_p = function (){
popuper.removeTextField()
}

Nirth
17.06.2005, 00:25
скорее всего все дело в глубине, протрейсь глубину посмотри что говорит. компоненты резервируют под себя самую высокую и низкую глубину.

Fl00r
17.06.2005, 00:28
дада.
именно этим я и занялся... уже есть результаты ! :)

Fl00r
17.06.2005, 00:37
popup = function (text) {
this.createTextField("popuper", _root, _root._xmouse-100, _root._ymouse+10, 100, 20);
popuper.background = true;
popuper.border = true;
popuper.autoSize = true;
popuper.html = true;
popuper.multiline = true;
popuper.htmlText = text;
};
destroyer_p = function (){
_root.popuper.removeTextField()
}


Тема исчерпана :D

Nirth
17.06.2005, 01:22
вот тут (http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_19435) есть объяснение макромедии данному феномену
http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_19435

Fl00r
17.06.2005, 16:00
Чего-то у меня новая проблема.
на РолОвер у меня попап появляется, на ролАут - исчезает...

НО при релизе он не исчезает!!! ( как быть.


popup = function (text) {
_global.myListener = new Object();
myListener.onMouseMove = function () {
_root.createTextField("popuper", _root, _root._xmouse-100, _root._ymouse+10, 100, 20);
popuper.background = true;
popuper.border = true;
popuper.autoSize = true;
popuper.html = true;
popuper.multiline = true;
popuper.htmlText = text;
};
Mouse.addListener(myListener);
};
destroyer_p = function (){
popuper.removeTextField();
Mouse.removeListener(myListener);
}

Fl00r
17.06.2005, 16:24
ТО есть на RollOver я кидаю функцию popup(text); а на RollOver и на release destroyer_p().... И на release функция не срабатывает.

Nirth
17.06.2005, 17:25
хм разбираться в коде буду позже, но если я правильно понимаю тебе нужна подсказка? а если так то лучше не убивать и создавать, а просто делать _visible = true/false, и меньше гемора и меньше нагрузка.

Fl00r
17.06.2005, 17:31
Сейчас попробую.
Но лишний Listener на мыши все равно... не к месту (хоть и будет за мышью тоскаться невидимый текстфилд).
И с другой стороны.
При релизе функция вообще не работает. Или работает не корректно. Значи _визибл не выход. Хотя все равно попробую.