出来很久了,以前只是知道 没有去细看 昨天有时间仔细看了以下用法
首先
需要下载Flex SDK4.5.18623以上版本。至于SDK怎么安装,我就不说了,你懂的!
然后对于自定义鼠标样式的图片有点要求 由于系统限制不能大于32x32像素
然后对于自定义鼠标样式的图片有点要求 由于系统限制不能大于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