·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

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

时间:2014-10-08 08:41酷播
每个需要ToolTip都加个Over,Out事件,并指定数据,构造并显示到ToolTip;每个需要需要ToolTip的组件,都由一个ToolTip管理器去注册,与注销ToolTip处理(也就是,Over,Out事件处理)

在学习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.     } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器