PDA

Просмотр полной версии : подскажите


ujim
08.08.2005, 13:30
Народ, помогите, зашел в тупик.
В прилагаемом примере при наведении на объект мышкой загорается сообщение.


for (var i in area) {
if (area[i].getDepth) {
area[i].onMouseMove = function() {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
_root.createTextField("mcName", 2, _root._xmouse - 5, _root._ymouse - 18, 1, 1);
_root.mcName.autoSize = true;
_root.mcName.background = true;
_root.mcName.backgroundColor = 0x000000;
_root.mcName.textColor = 0xFFFFFF;
_root.mcName.multiline = false;
_root.mcName.selectable = false;
_root.mcName.text = this._name;
boldInfoAdres = new TextFormat();
boldInfoAdres.bold = true;
_root.mcName.setTextFormat(boldInfoAdres);
}
}
}
updateAfterEvent();
}
{
КАК ОТСЛЕДИТЬ УСЛОВИЕ: «когда под мышкой нет ничего», для удаления всплывающей подсказки.

as_68
08.08.2005, 14:23
Можно так:

stop;
for (var i in area) {
area[i].onMouseMove = function() {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
this.createEmptyMovieClip("for_txt", this.getNextHighestDepth());
this.for_txt.createTextField(["mcName"+i], 2, this._xmouse-5, this._ymouse-18, 1, 1);
this.for_txt["mcName"+i].autoSize = true;
this.for_txt["mcName"+i].background = true;
this.for_txt["mcName"+i].backgroundColor = 0x000000;
this.for_txt["mcName"+i].textColor = 0xFFFFFF;
this.for_txt["mcName"+i].multiline = false;
this.for_txt["mcName"+i].selectable = false;
this.for_txt["mcName"+i].text = this._name;
boldInfoAdres = new TextFormat();
boldInfoAdres.bold = true;
this.for_txt["mcName"+i].setTextFormat(boldInfoAdres);
} else {
this.for_txt.removeMovieClip();
}
};
updateAfterEvent();
}

ujim
08.08.2005, 14:31
к сожалению не все так просто :(
не корректно работает. когда мышь покидает область объекта, подсказка продолжает горесть. :(
более того достигая следующего объекта информация не обновляется!

ujim
08.08.2005, 15:04
да, а к чему был создан пустой мувик?

as_68
08.08.2005, 18:44
У меня работает :D

да, а к чему был создан пустой мувик?

чтобы его потом удалить когда не this.hitTest

ujim
08.08.2005, 19:00
насчет пустого мувика:
Созданное текстовое поле также можно убить, используя removeTextField(), для этого и мувик не нужен.

Вот что получается у меня при просмотре твоего swf (см. файл) :(

as_68
08.08.2005, 19:14
это только если медленно двигаешь мыша

ujim
08.08.2005, 19:24
это только если медленно двигаешь мыша

Не скажу что медленно двигаю, но при резком первоначальном движении и правда пропадает, при нормальном плавном движении остается.

Это не есть хорошо :(

ujim
08.08.2005, 22:51
все!!!! решил.
всем спасибо!
если кому интересно, вот

Gaen
09.08.2005, 02:44
кому ещё интересно, вот решение схожей проблемы от Iv'a

http://dembicki.narod.ru/tutor/tipsa_rus.fla

ujim
09.08.2005, 13:29
классное решение!
но, есть одно но, бешанная задержка на появление "типсы". :(
пользователь может просто не дождаться!