Flex【原创】利用BitmapData设置光标样式

  这几天突然发现传统用cursorManager.setCursor(...);设置光标样式会有顿卡的感觉。

  现在可以利用BitmapData实现此功能,并且一点不卡,性能明显要好得多,不解释,上源码,你懂的!

  Cursor类:

  

View Code
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]);

转载于:https://www.cnblogs.com/loveFlex/archive/2012/05/31/2529098.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值