宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3非常好用的toolTip设计源代码

2016-10-13 00:16:48 点击量:10 标签: 收藏本文

在学习C# WPF时,内有介绍一些控件内置的ToolTip功能时;

想起之前的页游制作时,的ToolTip功能;

1)、每个需要ToolTip都加个Over,Out事件,并指定数据,构造并显示到ToolTip;

2)、每个需要需要ToolTip的组件,都由一个ToolTip管理器去注册,与注销ToolTip处理(也就是,Over,Out事件处理)

今天看到的这种,也随手写一下;

也有他存在的意义,一般比较适用于:不变动的ToolTip内容使用,比较适合;

毕竟目前无法实现,与WPF中的ToolTip那样强大;

可以直接在.xaml中,写自己想要的可视元素都可以(里面的,布局,数据,都可以自定),非常方便;

大概实现底层封装:

  1. //WPF中的ToolTip功能,在以往的游戏中,可以使用这种封装结构; 
  2. //方便、灵活; 
  3. //如as3 code:随手写的伪代码 
  4. public class GameDspObj : DisplayObject{ 
  5.  
  6.     private var _toolTip:DisplayObject; 
  7.      
  8.     public function get toolTip():void{ 
  9.         return _toolTip; 
  10.     } 
  11.      
  12.     public function set toolTip(value:Object):void{ 
  13.         var result:Object; 
  14.         if(value is DisplayObject){ 
  15.             // control show or hide 
  16.             result = value
  17.         }else{ 
  18.             valuevalue = value.toString(); 
  19.             // default toolTip dspObj show or hide 
  20.             result = new DefualtToolTip(value); 
  21.         } 
  22.         _toolTip = result
  23.     } 
  24.      
  25.     public GameDspObj(){ 
  26.         addEventListener(MouseEvent.HOVER, onHover); 
  27.         addEventListener(MouseEvent.OUT, onOut); 
  28.     } 
  29.      
  30.     protected function onHover(e:MouseEvent):void{ 
  31.         // show toolTip dspObj 
  32.         LayerMgr.getL(EnumLayer.ToolTip).addChild(toolTip); 
  33.     } 
  34.      
  35.     protected function onOut(e:MouseEvent):void{ 
  36.         // hide toolTip dspObj 
  37.         if(toolTip && toolTip.parent){ 
  38.             toolTip.parent.removeChild(toolTip); 
  39.         } 
  40.     } 

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室