Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   подсказка во flash 9 (http://www.flasher.ru/forum/showthread.php?t=105069)

malikonia 07.12.2007 00:20

подсказка во flash 9
 
Здравствуйте все! Пожалуйста, помогите сделать всплывающую подсказку во flash 9! Во flash 8 получается сделать, а во flash 9 никак... Если можно, выложите исходник с кодом. Заранее благодарна всем откликнувшимся!

CrazyFlasher 07.12.2007 00:46

Код:

import mx.utils.Delegate;

class Tooltip {

        private var target:MovieClip;
        private var txt:TextField;
       
        public function Tooltip(){
                target = _root;
                //лучше юзать _root, т.к. работаем с глобальными координатами мыши (имхо)
        }
       
        public function setTooltip(str:String){
                if(str != undefined){
                        txt = target.createTextField("tooltip",
                                0,
                                target._xmouse,
                                target._ymouse + 20,
                                0,
                                0
                        );
                       
                        txt.autoSize = true;
                        txt.background = true;
                        txt.border = true;
                        txt.embedFonts = false;
                        txt.backgroundColor = 0xFFE6B0;
                        txt.borderColor = 0xFFD277;
                        txt.selectable = false;
                        txt.text = str;
                       
                        toolTipMotion();
                       
                        target.onMouseMove = Delegate.create(this, toolTipMotion);
                }else{
                        txt.removeTextField();
                        delete target.onMouseMove;
                }
        }
       
       
        private function toolTipMotion(){
                txt._x = target._xmouse;
                txt._y = target._ymouse + 20;
               
                if(txt._x + txt._width > Stage.width){
                        txt._x = Stage.width - txt._width - 10;
                }else
                if(txt._x <= 10){
                        txt._x = 10;
                }
               
                updateAfterEvent();
        }
}

P.S. числа 10 и 20 (отсупы) грамотней будет заменить на статические переменные...ну это так..шлифовка =)

malikonia 07.12.2007 19:24

Большое спасибо за код! А вы не подскажите, куда его вставлять? В actions мувика, для которого я хочу сделать подсказку?

etc 07.12.2007 23:39

malikonia, узнайте, что такое ActionScript 2.0 в гугле.


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

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