Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Всплывающая подсказка (http://www.flasher.ru/forum/showthread.php?t=170951)

omfg 05.11.2011 14:23

Всплывающая подсказка
 
Добрый день. Никак не могу придумать, как сделать всплывающую подсказку такого вида:

http://icarrot.ru/hint.png

Хочется сделать класс, в метод которого (ну или конструктор) передавался текст, а возвращался display object такого вида.

Проблемы:

1) Как сделать соответственно этот DO тянущимся в зависимости от объема текста
2) Как сделать темную обводку рядом с краем подсказки, причем, эта линия немного отступает от края.

КорДум 05.11.2011 14:29

Рисуем нужный квадратик с рамкой во FlashIDE, задаем этому клипу scale9grid, дальше графику в swc. Растягиваем клип, как надо по размерам текста. И все, тянуться будет только средняя область в сетке.

omfg 05.11.2011 14:35

Спасибо, мой вам плюс:)

artcraft 05.11.2011 22:33

я обычно такую простую графику рисую программно, без всяких флэшИде и swc.
при изменении размеров просто стираем старые прямоугльники и рисуем новые

scarbo 05.11.2011 23:12

Цитата:

Сообщение от artcraft (Сообщение 1043957)
я обычно такую простую графику рисую программно, без всяких флэшИде и swc.
при изменении размеров просто стираем старые прямоугльники и рисуем новые

Жесть, особенно удобно кодом изображать края старой, рваной бумаги.

artcraft 05.11.2011 23:20

Какя еще рваная бумага - автор поста показал что ему надо - там 2 прямоугольника

Ookami 06.11.2011 00:18

присоединюсь к artcraft - если тултип нужен именно в таком виде, как на картинке, то его проще создавать программно.

Более подробно:
Передаем в метод 2 параметра - заголовок и текст. В конструкторе создаем 2 поля TextField, первый для заголовка, второй для самого текста. Задаем ширину текста, настраиваем шрифт для обоих полей по вкусу (цвет, размер и тд) и настраиваем перенос строк. Заголовок кидаем в координаты, например, [5,5], а основной текст в координаты [5, 5 + высота_заголовка + отступ]. Далее рисуем рамку простым или скругленным прямоугольником из координат [0,0] до [высота_заголовка + высота_текста + отступ + 10, ширина_текста + 10]. Возвращаем полученный ДО. Собственно, profit.

Добавлено через 1 час 28 минут
Код AS3:

                public function tooltip(tt_text) {
                        var br:Sprite = new Sprite;
                        var tf:TextField = new TextField;
                        var dtf:TextFormat = new TextFormat("Comic Sans MS", 16, 0x00ffff);
                        tf.autoSize = TextFieldAutoSize.LEFT;
                        tf.defaultTextFormat = dtf;
                        tf.text = tt_text;
                        tf.x = 5;
                        tf.y = 5;
                        br.graphics.lineStyle(3, 0x00ffff);
                        br.graphics.beginFill(0x003333, 0.75);
                        br.graphics.drawRoundRect(0, 0, tf.width + 10, tf.height + 10, 5, 5);
                        br.graphics.endFill();
                        addChild(br);
                        addChild(tf);
                }

У меня вот такая функция используется, правда тултипы без заголовка. Подправить под свои нужды не составит труда


Часовой пояс GMT +4, время: 00:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.