zoukankan      html  css  js  c++  java
  • 关于FP10.2的自定义鼠标功能

    出来很久了,以前只是知道 没有去细看 昨天有时间仔细看了以下用法

    首先
    需要下载Flex SDK4.5.18623以上版本。至于SDK怎么安装,我就不说了,你懂的!
        然后对于自定义鼠标样式的图片有点要求 由于系统限制不能大于32x32像素
    关于理论预热


    先看以下效果
     
     
     
    再看一个小例子
    [Embed(source = 'assets/aa.png')]        private var ZoomCursor:Class;
    
    var cursorData:MouseCursorData = new MouseCursorData();
    //设置热点
    cursorData.hotSpot = new Point(15,15); var bitmapDatas:Vector.<BitmapData> = new Vector.<BitmapData>(1, true);
    //外部导入的图片类 var bitmap:Bitmap = new ZoomCursor(); bitmapDatas[0] = bitmap.bitmapData; cursorData.data = bitmapDatas; Mouse.registerCursor("myCursor", cursorData); Mouse.cursor = "myCursor";
     
    正如你看到的那样,以上是一个完整的鼠标自定义样式示例
    下面简单解释以下源码
    设置鼠标的自定义样式是在Mouse.cursor设置 比如Mouse.cursor = MouseCursor.ARROW;
    但是系统给我们提供的几种远不能满足我们的需求
    于是我们新建一个bitmapDatas 然后传入一个BitmapData的Vector数组(至于为什么是数组而不是BitmapData我稍后解释)Vector存放着我们自定义的鼠标样式bitmapdata 
    注册一下子
    Mouse.registerCursor("myCursor", cursorData);
    最后在Mouse.cursor = "myCursor"; 调用就OK了


    通过以上的小例子我们能初步使用自定义鼠标样式,以下是一点小拓展
    Vector中可以传入多个位图的bitmapdata 用来制作一系列动画样式,至于动画的帧频 这个有点小不同
    mouseCursorData.frameRate = 1;
    MouseCursorData设置 这个帧频可以不同于swf本身的帧频,而且默认情况下帧频就是1
    你如果在给MouseCrusonData中传入的Vector中放入三个不同的图片的bitmapdata 就是鼠标样式每秒换一张
     
    以下是一个完整的拓展实例
    // 创建一个 MouseCursorData 对象
    var cursorData:MouseCursorData = new MouseCursorData(); //设置热点 cursorData.hotSpot = new Point(15,15); // 创建一个有三个bitmapdata的vector对象 var bitmapDatas:Vector.<BitmapData> = new Vector.<BitmapData>(3, true); // 这里用了几行伪代码 传入三个不同的bitmap var frame1Bitmap:Bitmap = new frame1(); var frame2Bitmap:Bitmap = new frame2(); var frame3Bitmap:Bitmap = new frame3(); // 将图片的bitmapDatas赋值给Vector bitmapDatas[0] = frame1Bitmap.bitmapData; bitmapDatas[1] = frame2Bitmap.bitmapData; bitmapDatas[2] = frame3Bitmap.bitmapData; // 给MouseCursor对象赋值 cursorData.data = bitmapDatas; // 单独设置鼠标动画为每秒一帧 不同于swf的帧频 cursorData.frameRate = 1; // 将MouseCursorData注册给鼠标对象 Mouse.registerCursor("myAnimatedCursor", cursorData); // 最后是给鼠标指定样式
    Mouse.cursor = "myAnimatedCursor";


    通过以上两个例子解决了大部分问题
    最后 补充一下,恢复鼠标默认样式的代码 Mouse.cursor = MouseCursor.AUTO;


    好了,结束....
     
    原文来自:http://blog.sina.com.cn/s/blog_6859df370100wtk4.html
  • 相关阅读:
    Tomcat性能调优
    spring 提供的可扩展的接口和类
    Spring boot 定义exit codes 让你定位问题更加简单
    spring中@Async注解的原理和使用
    SpringCache源码深度解析
    ApplicationContextAware和BeanFactoryAware使用理解
    spring aop中引介拦截器的用法
    提高安全性而在HTTP响应头中可以使用的各种响应头字段
    spring aop中targetSource的理解
    PowerMockito使用PowerMockIgnore注解消除类加载器引入的ClassCastException
  • 原文地址:https://www.cnblogs.com/chenhaib/p/2518043.html
Copyright © 2011-2022 走看看