`
keren
  • 浏览: 1582725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flash Tooltip类

 
阅读更多
http://www.flepstudio.com/flash/actionscript3/documentation/html/com_flepstudio_text_ToolTip.html
package com.flepstudio.text
{
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
     
    /**
     * ToolTip is a ValueObject for the FlepStudio API.
     * This class produces a tooltip advice on mouse rollover
     *
     * @author Filippo Lughi
     * @version Actionscript 3.0
     */
    public class ToolTip extends MovieClip
    {
        private var _bg_color:uint;
        private var _text_color:uint;
        private var _text_size:int;
        private var _font:String;
        private var _tool_text:String;
        private var _field_txt:TextField;
        private var _alpha_color:Number;
         
        private var ratio:int=10;
        private var holder_mc:MovieClip;
        private var bg_mc:MovieClip;
        private var father:MovieClip;
         
        /**
         * Construct a new ToolTip instance
         *
         * @param        .bc        uint         -- background color
         * @param        .tc            uint         -- text color
         * @param        .ts            int            -- text size
         * @param        .f            String        -- the font to use
         * @param        .tt            String        -- text of the tooltip
         * @param        .n            Number     -- alpha of background color
         */
        public function ToolTip(bc:uint,tc:uint,ts:int,f:String,tt:String,n:Number)
        {
            bg_color=bc;
            text_color=tc;
            text_size=ts;
            font=f;
            tool_text=tt;
            alpha_color=n;
             
            addEventListener(Event.ADDED_TO_STAGE,init);
             
            mouseEnabled=false;
            alpha=0;
        }
         
        /**
         * Background color
         */
        public function get bg_color():uint
        {
            return _bg_color;
        }
         
        public function set bg_color(c:uint):void
        {
            _bg_color=c;
        }
         
        /**
         * Text color
         */
        public function get text_color():uint
        {
            return _text_color;
        }
         
        public function set text_color(c:uint):void
        {
            _text_color=c;
        }
         
        /**
         * Text size
         */
        public function get text_size():int
        {
            return _text_size;
        }
         
        public function set text_size(n:int):void
        {
            _text_size=n;
        }
         
        /**
         * The font
         */
        public function get font():String
        {
            return _font;
        }
         
        public function set font(s:String):void
        {
            _font=s;
        }
         
        /**
         * The text
         */
        public function get tool_text():String
        {
            return _tool_text;
        }
         
        public function set tool_text(s:String):void
        {
            _tool_text=s;
        }
         
        /**
         * The text
         */
        public function get field_txt():TextField
        {
            return _field_txt;
        }
         
        public function set field_txt(t:TextField):void
        {
            _field_txt=t;
        }
         
        /**
         * The alpha color
         */
        public function get alpha_color():Number
        {
            return _alpha_color;
        }
         
        public function set alpha_color(n:Number):void
        {
            _alpha_color=n;
        }
         
        /**
         * Init the class
         *
         * @param        .evt                Event
         */
        private function init(evt:Event):void
        {
            removeEventListener(Event.ADDED_TO_STAGE,init);
             
            father=parent as MovieClip;
             
            createHolder();
            createTextField();
            createBackground();
            fixPosition();
            fadeIn();
            addEventListener(Event.ENTER_FRAME,addMovement);
        }
         
        /**
         * Container MovieClip creation
         *
         */
        private function createHolder():void
        {
            holder_mc=new MovieClip();
            addChild(holder_mc);
        }
         
        /**
         * TextField tooltip creation
         *
         */
        private function createTextField():void
        {
            field_txt=new TextField();
            field_txt.multiline=true;
            field_txt.selectable=false;
            field_txt.embedFonts=true;
            field_txt.antiAliasType=AntiAliasType.ADVANCED;
            field_txt.autoSize=TextFieldAutoSize.LEFT;
            field_txt.defaultTextFormat=getFormat();
            field_txt.htmlText=tool_text+"  ";
            field_txt.width=field_txt.textWidth+10;
            field_txt.height=field_txt.textHeight+20;
            holder_mc.addChild(field_txt);
        }
         
        /**
         * Get a text format
         *
         * @return                                TextFormat                the textfield's format of tooltip
         */
        private function getFormat():TextFormat
        {
            var format:TextFormat=new TextFormat();
            format.font=font;
            format.size=text_size;
            format.color=text_color;
            return format;
        }
         
        /**
         * Background MovieClip creation
         *
         */
        private function createBackground():void
        {
            bg_mc=new MovieClip();
            bg_mc.graphics.beginFill(bg_color,alpha_color);
            bg_mc.graphics.drawRoundRect(-ratio,-ratio,field_txt.width+ratio*2,field_txt.height+ratio*2,ratio,ratio);
            holder_mc.addChild(bg_mc);
             
            holder_mc.swapChildren(field_txt,bg_mc);
        }
         
        /**
         * Position the tooltip
         *
         */
        private function fixPosition():void
        {
            if(father.mouseX  <  stage.stageWidth/2)
                x=father.mouseX;
            else
                x=father.mouseX-width;
            if(father.mouseY  <  stage.stageHeight/2)
                y=father.mouseY+height-ratio*2;
            else
                y=father.mouseY-height;
        }
         
        /**
         * Init fade-in section of tooltip
         *
         */
        private function fadeIn():void
        {
            bg_mc.addEventListener(Event.ENTER_FRAME,fadeInToolTip);
        }
         
        /**
         * Fade-in of tooltip
         *
         * @param        .evt                Event
         */
        private function fadeInToolTip(evt:Event):void
        {
            var distance:Number=1-alpha;
            var inertial:Number=distance*.2;
            alpha+=inertial;
            if(Math.abs(distance)  <= .1)
            {
                alpha=1;
                bg_mc.removeEventListener(Event.ENTER_FRAME,fadeInToolTip);
            }
        }
         
        /**
         * Movement of tooltip
         *
         * @param        .evt                Event
         */
        private function addMovement(evt:Event):void
        {
            if(father.mouseX  <  stage.stageWidth/2)
                x=father.mouseX;
            else
                x=father.mouseX-width+ratio*2;
            if(father.mouseY  <  stage.stageHeight/2)
                y=father.mouseY+height-ratio*2;
            else
                y=father.mouseY-height;
                 
            if(x  >  stage.stageWidth-width)
                x=stage.stageWidth-width;
            if(x  <  ratio*2)
                x=ratio*2;
        }
         
        /**
         * Remove this instance
         *
         */
        public function destroy():void
        {
            removeEventListener(Event.ENTER_FRAME,addMovement);
            bg_mc.removeEventListener(Event.ENTER_FRAME,fadeInToolTip);
            father.removeChild(this);
        }
    }
}
分享到:
评论

相关推荐

    flash 的几个tooltip显示

    - AS3(ActionScript 3.0):引入`flash.ui.ToolTip`类,创建一个Tooltip实例并用`new ToolTip()`初始化,然后使用`ToolTip.displayObject.text`设置文本。 3. 自定义Tooltip样式: - 通过修改Tooltip的样式属性...

    Flash Tooltip AS3 气泡提示框的源代码

     Flash Tooltip AS3 气泡提示框的源代码,内含有5个不同风格的Flash气泡提示框,大小不同、颜色不同,动态的效果也不同,作Flash产品展示的话,会用到Tips,本源代码用Flash CS3及以上版本可打开。

    [AS3]提示信息类-ToolTip(flash)

    本文将深入探讨AS3中的ToolTip类,以及如何在Flash项目中有效地利用它来提升用户体验。 首先,让我们理解什么是ToolTip。ToolTip是用户界面设计中常见的一种元素,当用户将鼠标指针悬停在特定的UI组件(如按钮、...

    as3 鼠标提示类ToolTip

    在本篇文章中,我们将深入探讨如何使用AS3创建和使用ToolTip类,以及它的一些关键特性。 首先,让我们了解基本的使用方法。在AS3中,我们可以直接通过创建ToolTip对象并设置其text属性来创建一个简单的提示: ```...

    as3 tooltip的例子

    在描述中提到的“一个tooltip类,表示一个长方形的小弹出窗口”,实际上就是在创建一个自定义的Tooltip类,以便在用户将鼠标悬停在特定的舞台对象(如按钮或图形)上时显示相关信息。 创建自定义Tooltip类的步骤...

    Flash 自定义 ToolTip

    在Flash编程中,ToolTip是一个非常实用的功能,它可以在鼠标悬停在某个对象上时显示相关信息提示。本实例探讨的是如何使用ActionScript(简称AS)来自定义ToolTip,这对于初学者掌握ASToolTip的工作原理非常有帮助。...

    as3 Tooltip

    这个压缩包中的资源是一个由非中文开发者编写的高级Tooltip类,具有美观的样式和实用的功能,包含示例演示,方便开发者学习和应用。 在AS3中,Tooltip类是Adobe官方提供的基础组件,但它的外观和行为可能较为简单,...

    CSS3提示框Tooltip动画.zip

    **CSS3提示框Tooltip动画详解** 在Web开发中,Tooltip是一种常见的交互元素,它用于提供额外的信息,当用户将鼠标悬停在特定元素上时显示。传统的Tooltip通常使用JavaScript实现,但随着CSS3特性的日益成熟,我们...

    FLASH日历原文件。AS3.0版本

    在这个上下文中,ToolTip类可能负责创建和管理日历上的日期工具提示,展示日期相关的附加信息,如节假日、生日或其他用户定义的事件。 这些类文件共同构成了一个完整的Flash日历组件,每个都有其特定的职责。在AS3...

    flash鼠标悬停信息提示

    1. **创建Flash项目**:打开Adobe Flash,创建一个新的ActionScript 3.0项目。这将确保我们有足够的控制权来编写自定义代码。 2. **添加图形元素**:导入需要添加悬停提示的元素,例如`menu.gif`。将其放置在舞台上...

    flash as3.0 课件 十二生肖的学习

    对于不认识的汉字,可以使用ToolTip类提供鼠标悬停提示。 六、用户交互与反馈 为了提高用户体验,课件可以设计成有反馈的形式。比如,当用户选择正确的生肖时,可以播放鼓励的音效或显示祝贺信息;错误时则给出提示...

    Using htmlText in a toolTip in flex

    可以使用`flash.text.HTMLParser`类将HTML字符串转换为`TextField`对象,然后将其添加到组件的显示列表中。记得设置`htmlText`属性,以便在工具提示中正确显示HTML内容。 3. **样式处理**: 考虑到HTML文本可能...

    纯js tooltip工具提示插件特效.zip

    在实际使用这个插件时,开发者需要将JavaScript和CSS文件引入到他们的项目中,然后按照文档的指导对元素添加特定的类或者属性,以触发tooltip的效果。同时,通过修改CSS和JavaScript代码,可以进一步自定义工具提示...

    AS3.0鼠标提示信息源文件

    在AS3.0中,我们可以使用内置的Tooltip类来创建鼠标提示。这个类允许开发者定义鼠标悬停在特定对象上时显示的文本或组件。然而,标题中提到的"AS3.0鼠标提示信息源文件"提供了一个优化的解决方案,它可能包括了更...

    open_flash_chart中文学习教程文档

    - 创建SWFObject实例,指定Flash文件路径、ID、尺寸、最低Flash版本以及背景色等参数。 - 可设置额外参数如质量、模式等。 - 使用`write`方法将Flash内容插入到指定的HTML元素中。 #### 四、如何使用...

    open-flash-chart2使用总结

    例如,可以通过设置"tooltip"属性来添加提示框,显示鼠标悬停时的数据信息;使用"labels"可以为图表添加轴标签,增强可读性;"data_points"功能则允许我们在图表上添加自定义的标记,使得数据点更加突出。 此外,...

    open-flash-chart

    通过继承`open_flash_chart_object`类,你可以定义自己的图形样式和行为。 **8. 集成服务器端数据** 通常,我们会从服务器获取数据。你可以使用AJAX请求获取JSON数据,然后解析并添加到图表中: ```javascript $....

    as3 提示框 自适应

    首先,你需要创建一个自定义的提示类,这将扩展Flash的内置`ToolTip`类或`Sprite`类。这样做可以让你有更多的控制权来定制提示框的外观和行为。 ```actionscript public class CustomTooltip extends Sprite { //...

    open-flash-chart中文使用参数对照表

    2. **tooltip`:设置提示框的配置。 - **说明**:当鼠标悬停在图表上时,会显示一个包含相关信息的提示框。可以设置提示框的显示样式、内容等。 3. **events`:设置图表的事件响应。 - **说明**:通过绑定事件,...

Global site tag (gtag.js) - Google Analytics