Flex【原创】利用BitmapData设置光标样式
这几天突然发现传统用cursorManager.setCursor(...);设置光标样式会有顿卡的感觉。
现在可以利用BitmapData实现此功能,并且一点不卡,性能明显要好得多,不解释,上源码,你懂的!
Cursor类:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.events.Event; import flash.net.URLRequest; import flash.ui.Mouse; import flash.ui.MouseCursorData; public class Cursor { private var _cursor:Array; private var loader:Loader; public function Cursor(cursor:Array) { this.cursor = cursor; } public function get cursor():Array { return _cursor; } public function set cursor(value:Array):void { _cursor = value; if(_cursor && _cursor.length == 2) { loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete); loader.load(new URLRequest(_cursor[1])); } } protected function onComplete(event:Event):void { var cursorData : Vector.<BitmapData> = new Vector.<BitmapData>(); cursorData .push(Bitmap(event.target.content).bitmapData); var mouseCursorData:MouseCursorData = new MouseCursorData(); mouseCursorData.data = cursorData; Mouse.registerCursor(_cursor[0],mouseCursorData); Mouse.cursor = _cursor[0]; } } }
调用:传入一个数组,索引0位置为cursor名称,索引1位置为cursor图片路径
new Cursor(["newCursor",Config.CURSOR_BLUE]);
作者: Binyy
出处: https://www.cnblogs.com/loveFlex
城市:wuhan
微信:momakeyy
详细源码请移步,记得点个星星噢~ https://gitee.com/binyylovesino/lilo-ui 欢迎各路大佬指导、提问~
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接 如有问题, 可邮件(408460486@qq.com)或者微信咨询.
posted on 2012-05-31 21:24 Binyy_Wuhan 阅读(1373) 评论(0) 编辑 收藏 举报