[AS3]as3非常好用的toolTip设计源代码
每个需要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中,写自己想要的可视元素都可以(里面的,布局,数据,都可以自定),非常方便;
大概实现底层封装:
- //WPF中的ToolTip功能,在以往的游戏中,可以使用这种封装结构;
- //方便、灵活;
- //如as3 code:随手写的伪代码
- public class GameDspObj : DisplayObject{
- private var _toolTip:DisplayObject;
- public function get toolTip():void{
- return _toolTip;
- }
- public function set toolTip(value:Object):void{
- var result:Object;
- if(value is DisplayObject){
- // control show or hide
- result = value;
- }else{
- valuevalue = value.toString();
- // default toolTip dspObj show or hide
- result = new DefualtToolTip(value);
- }
- _toolTip = result;
- }
- public GameDspObj(){
- addEventListener(MouseEvent.HOVER, onHover);
- addEventListener(MouseEvent.OUT, onOut);
- }
- protected function onHover(e:MouseEvent):void{
- // show toolTip dspObj
- LayerMgr.getL(EnumLayer.ToolTip).addChild(toolTip);
- }
- protected function onOut(e:MouseEvent):void{
- // hide toolTip dspObj
- if(toolTip && toolTip.parent){
- toolTip.parent.removeChild(toolTip);
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...