FLASH中鼠标提示类的编写

在FLASH中,依照网页里的鼠标提示效果。鼠标放在某按钮上,将会出现该按钮的提示信息。演示:

http://www.taoshaw.com/flash/mousetip/mousetip.html
制作思路与方法:
1、新建TIP类:
在第一帧中编写: 

class ToolTip {
  //定义要设置tip的影片剪辑
  private var _target:MovieClip;
  //定义tip中显示的字符串
  private var _str:String;
  //tip的默认边框颜色
  public var _border:Number = 0x58A6D7;
  //tip的默认填充颜色
  public var _color:Number = 0xD8E4F4;
  //tip的文字颜色
  public var _fontColor:Number = 0xFFFFFF;
  //定义一个引用变量
  private static var _instance:ToolTip;
  //私有构造函数,保证不能外部实例化
  private function ToolTip() {
  }
  //静态工厂方法,保证只返回一个实例
  public static function getInstance():ToolTip {
    //如果实例不存在 
    if (ToolTip._instance == undefined) {
      //创建一个实例
      ToolTip._instance = new ToolTip();
      //返回实例
      return ToolTip._instance;
    }
  }
  //重新设置边框,背景,字体颜色
  public function setColor(border, color, fontColor) {
    //获取边框颜色
    _border = border;
    //获取填充颜色
    _color = color;
    //获取字体颜色
    _fontColor = fontColor;
  }
  //target为要设置tip的mc的实例名,msg为要显示的tip
  public function setToolTip(target:MovieClip, str:String) {
    //获取影片剪辑
    _target = target;
    //指向实例,以便在事件处理函数中使用
    var ins = this;
    //定义鼠标滑进事件处理函数
    target.onRollOver = function() {
      //创建一个tip
      ins.createTip(str);
    };
    //定义鼠标滑出事件处理函数
    target.onRollOut = target.onReleaseOutside=function () {
      //清除tip
      ins.clearTip();
    };
  }
  //创建tip
  private function createTip(str) {
    //引用影片剪辑的上一级
    var t = _target._parent;
    //创建一个文本框实例
    t.createTextField("theTip", 1000, t._xmouse, t._ymouse, 0, 0);
    //设置尺寸自动
    t.theTip.autoSize = true;
    //设置文本
    t.theTip.text = str;
    //设置文本颜色
    t.theTip.textColor = _fontColor;
    //文本不可选 
    t.theTip.selectable = false;
    //允许使用边框颜色
    t.theTip.border = true;
    //设置边框颜色
    t.theTip.borderColor = _border;
    //允许使用背景色
    t.theTip.background = true;
    //设置背景颜色
    t.theTip.backgroundColor = _color;
    this.moveTip();
  }
  //移动tip
  private function moveTip() {
    //引用影片剪辑上一组
    var t = _target._parent;
    //引用文本框实例
    var tip = t.theTip;
    //引用类实例
    var ins = this;
    //指向影片剪辑,以便在事件处理函数中使用
    var btn = _target;
    //定义事件处函数,设置tip的位置
    t.onEnterFrame = function() {
      //设置tip在在鼠标的下面
      tip._x = t._xmouse+15;
      tip._y = t._ymouse;
      //如果tip超出右边界
      if ((tip._x+tip._width)>Stage.width) {
        //设置tip在鼠标的左边
        tip._x = t._xmouse-tip._width-5;
        //如果tip超出下边界
      } else if ((tip._y+tip._height)>Stage.height) {
        //设置tip在鼠标的上边
        tip._y = t._ymouse-tip._height;
      }
      //刷新
      updateAfterEvent();
    };
  }
  //清除tip
  private function clearTip() {
    //引用影片剪辑的上一级
    var t = _target._parent;
    //删除文本框实例
    t.theTip.removeTextField();
    //删除事件处理函数
    delete t.onEnterFrame;
  }
}

并保存为”ToolTip.as“。
2、在同目录,这点很重要。新建一文件。添加应用TIP类按钮。分别取名为”btn1“、”btn2“;
3、新建一AS层,添加代码: 

var t:ToolTip = ToolTip.getInstance();
t.setToolTip(btn1, "点此播放");
t.setToolTip(btn2, "点此停止");
//分别设置提示类边框、填充、文本的颜色。
t.setColor(0x58A6D7, 0xD8E4F4, 0x0F4B71);


附源文件下载:
http://www.taoshaw.com/flash/mousetip/mousetip.rar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值