Просмотр полной версии : TOOLTIPS (ALT к мувику)
Тема такая:
Дан мувик. Ну к примеру 50х50. При наведении крысы на него должна появляться типа всплывающая подсказка - tooltip, далее тултип (как альтернативный текст alt в html). Причем не просто появляться в фиксированном месте а двигаться вместе с крысой (к примеру строго под ней), пока она в зоне мувика! Как маус уходит за пределы мувика, тултип исчезает. Пробовал выполнять attachMovie(), который подгружает в текущий мувик другой мувик, в котором я прорисовал красиво текст тултипа; далее startDrag() - мышь таскает за собой этот мувик с тултипом. Но получается сплошной глюк - тултип вылезает то справа, то слева от мыши, то ваще за пределами сцены. Как быть? Кому не понятно могу поднапрячься ради такого дела и выложить исходники...
Вот на скорую руку
this.createEmptyMovieClip("_mc", 1);
_mc.beginFill(0xCCCCCC, 30);
_mc.lineStyle(1, 0x333333, 100);
_mc.moveTo(0, 0);
_mc.lineTo(0, 100);
_mc.lineTo(100, 100);
_mc.lineTo(100, 00);
_mc.lineTo(0, 0);
_mc.endFill();
//
_mc.toolTips_id = "А вот и подсказочка )))";
//
_mc.onRollOver = function() {
createToolTips(this.toolTips_id);
};
_mc.onRollOut = _mc.onReleaseOutside=function () {
toolTips_mc.removeMovieClip();
};
createToolTips = function (id) {
createEmptyMovieClip("toolTips_mc", 1000);
toolTips_mc.createTextField("tt", 1, 0, 0, 0, 0);
toolTips_mc.tt.autoSize = "left";
toolTips_mc.tt.text = id;
//
toolTips_mc.onMouseMove = function() {
this._x = _xmouse;
this._y = _ymouse-20;
};
};
чо-то глюки какие-то. Куча ошибок выдаётся типа
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Statement must appear within on handler
this.createEmptyMovieClip("_mc", 1);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2: Statement must appear within on handler
_mc.beginFill(0xCCCCCC, 30);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 3: Statement must appear within on handler
_mc.lineStyle(1, 0x333333, 100);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 4: Statement must appear within on handler
_mc.moveTo(0, 0);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 5: Statement must appear within on handler
_mc.lineTo(0, 100);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 6: Statement must appear within on handler
_mc.lineTo(100, 100);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 7: Statement must appear within on handler
_mc.lineTo(100, 00);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 8: Statement must appear within on handler
_mc.lineTo(0, 0);
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 9: Statement must appear within on handler
_mc.endFill();
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 11: Statement must appear within on handler
_mc.toolTips_id = "А вот и подсказочка )))";
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 13: Statement must appear within on handler
_mc.onRollOver = function() {
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 16: Statement must appear within on handler
_mc.onRollOut = _mc.onReleaseOutside=function () {
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 19: Statement must appear within on handler
createToolTips = function (id) {
Total ActionScript Errors: 13 Reported Errors: 13
:eek: :eek: :eek:
Потому что этот код надо пихать в первый кадр рута, а не на мувик вешать ...
cacodemon
31.10.2005, 17:17
А как бы подобную подсказку зделать, то чтобы она за границы сцены невылазила? Типа повёл её вверх, и она снизу мышки стала, и наоборот. Тоже с левой и правой стараной. Причём текст, имеет разную длинну.
Делай проверку на положение типсы и если она улезла, ставь в соответствующие координаты ...
Я тут надыбал готовый класс тултипа! Пихаем в кадр код.
var tt:Tooltip = new Tooltip(0x9CA3CD,0x000000);
//...Tooltip(цвет заливки, цвет линии);
b_kv1.onRollOver = function() {
tt.showTip("Текст тултипа");
}
b_kv1.onRollOut = function() {
tt.removeTip();
}
//b_kv1 - название мувика
В одну директорию с флэшкой кидаем файл с классом:*.as
Кто ищет, тот всегда найдёт !!!
cacodemon
01.11.2005, 11:40
Делай проверку на положение типсы и если она улезла, ставь в соответствующие координаты ...
Я же говорю текст может быть либо в две строчки либо в 10, причём тест с форматированием, тоесть текст там с разным кегелем, как я узнаю тогда ширину тултипа? Только по длине имеет фиксированное значение.
Берите может подойдет
http://bukhara.gov.uz/flash/js_style_msvr2.zip
Я же говорю текст может быть либо в две строчки либо в 10, причём тест с форматированием, тоесть текст там с разным кегелем, как я узнаю тогда ширину тултипа? Только по длине имеет фиксированное значение.
Ширина тултипа равна ширине текстового поля в ней + зазоры сколько тебе надо
cacodemon
03.11.2005, 10:21
Как тогда узнать размер текущего текстого поля...?
Как как ... my_txt._width и всё .........
Естественно сначала надо подгрузить текст в текстовое поле , а уже потом мерять ширину, да и не забудь поставить my_txt.autoSize=true;
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.