包 | flash.ui |
类 | public final class MouseCursorData |
继承 | MouseCursorData Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.2, AIR 2.6 |
若要显示指针,请使用 Mouse.registerCursor()
函数。若要将指针图像的控制返回到操作系统,请调用 Mouse.unregisterCursor()
。调用 Mouse.supportsNativeCursor
可测试在当前计算机上是否支持本机指针。
最大指针大小为 32x32 像素。大多数操作系统上都支持透明度。
可以直接通过操作系统指针机制实现本机鼠标指针,此方式比使用显示对象来显示自定义指针图像更有效。通过在 data
属性中提供多个图像并设置帧速率,可以为指针添加动画效果。
指针仅在舞台范围内显示。在舞台范围以外,光标图像的控件会返回到操作系统
了解详细信息
相关 API 元素
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
data : Vector.<BitmapData>
BitmapData 对象的 Vector 包含光标图像或图像。 | MouseCursorData | ||
frameRate : Number
使光标具有动画效果的帧速率。 | MouseCursorData | ||
hotSpot : Point
以像素表示的光标热点。 | MouseCursorData |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
创建一个 MouseCursorData 对象。 | MouseCursorData | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
属性详细信息
data | 属性 |
data:Vector.<BitmapData>
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.2, AIR 2.6 |
BitmapData 对象的 Vector 包含光标图像或图像。
提供多个图像,并将 framerate
属性设置为使光标具有动画效果。
最大光标大小为 32x32 像素。
实现
public function get data():Vector.<BitmapData>
public function set data(value:Vector.<BitmapData>):void
frameRate | 属性 |
hotSpot | 属性 |
构造函数详细信息
MouseCursorData | () | 构造函数 |
public function MouseCursorData()
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.2, AIR 2.6 |
创建一个 MouseCursorData 对象。
若要显示该光标,请调用 Mouse.registerCursor()
函数。
相关 API 元素
示例 如何使用本示例
MouseCursorDataExample.as
以下示例会创建并显示鼠标光标的旋转箭头。
此示例使用通过 Graphics 类获得的绘图命令来创建箭头的八个旋转图像。这些图像会推进到一个矢量,并分配到 MouseCursorData 对象的 data
属性。(请注意,您还可以为光标使用预呈现的位图图像。)
package { import flash.display.Sprite; import flash.display.Shape; import flash.display.BitmapData; import flash.display.GraphicsPath; import flash.ui.MouseCursorData; import flash.ui.Mouse; import flash.geom.Matrix; public class MouseCursorDataExample extends Sprite { //Graphics path data for an arrow private var cursorPoints:Vector.<Number> = new <Number>[0,8, 16,8, 16,0, 24,12, 16,24, 16,16, 0,16, 0,8]; private var cursorDrawCommands:Vector.<int> = new <int>[1,2,2,2,2,2,2,2]; public function MouseCursorDataExample() { var mouseCursorData:MouseCursorData = new MouseCursorData(); mouseCursorData.data = makeCursorImages(); mouseCursorData.frameRate = 1; Mouse.registerCursor( "spinningArrow", mouseCursorData ); Mouse.cursor = "spinningArrow"; } //Returns a Vector containing 8 cursor images private function makeCursorImages():Vector.<BitmapData> { var cursorData:Vector.<BitmapData> = new Vector.<BitmapData>(); var cursorShape:Shape = new Shape(); cursorShape.graphics.beginFill( 0xff5555, .75 ); cursorShape.graphics.lineStyle( 1 ); cursorShape.graphics.drawPath( cursorDrawCommands, cursorPoints ); cursorShape.graphics.endFill(); var transformer:Matrix = new Matrix(); //Rotate and draw the arrow shape to a BitmapData object for each of 8 frames for( var i:int = 0; i < 8; i++ ) { var cursorFrame:BitmapData = new BitmapData( 32, 32, true, 0 ); cursorFrame.draw( cursorShape, transformer ); cursorData.push( cursorFrame ); transformer.translate(-15,-15); transformer.rotate( 0.785398163 ); transformer.translate(15,15); } return cursorData; } } }
Tue Jun 12 2018, 11:04 AM Z