用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: AIR 30.0 和更早版本, Flash Player 30.0 和更早版本, Flash Lite 4
Flex 4.6 和更早版本, Flash Pro CS6 和更早版本
隐藏过滤条件
flash.ui 

MouseCursorData  - AS3

flash.ui
public final class MouseCursorData
继承MouseCursorData Inheritance Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.2, AIR 2.6

MouseCursorData 类允许您定义“本机”鼠标光标的外观。

若要显示指针,请使用 Mouse.registerCursor() 函数。若要将指针图像的控制返回到操作系统,请调用 Mouse.unregisterCursor()。调用 Mouse.supportsNativeCursor 可测试在当前计算机上是否支持本机指针。

最大指针大小为 32x32 像素。大多数操作系统上都支持透明度。

可以直接通过操作系统指针机制实现本机鼠标指针,此方式比使用显示对象来显示自定义指针图像更有效。通过在 data 属性中提供多个图像并设置帧速率,可以为指针添加动画效果。

指针仅在舞台范围内显示。在舞台范围以外,光标图像的控件会返回到操作系统

查看示例

了解详细信息

相关 API 元素



公共属性
 属性由以下参数定义
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  data : Vector.<BitmapData>
BitmapData 对象的 Vector 包含光标图像或图像。
MouseCursorData
  frameRate : Number
使光标具有动画效果的帧速率。
MouseCursorData
  hotSpot : Point
以像素表示的光标热点。
MouseCursorData
公共方法
 方法由以下参数定义
  
创建一个 MouseCursorData 对象。
MouseCursorData
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
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

属性 
frameRate:Number

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.2, AIR 2.6

使光标具有动画效果的帧速率。

data 属性中提供多个图像并将帧速率设置为大于 0 的值,以便为指针添加动画效果。光标帧速率可能不同于当前的 SWF 帧速率。



实现
    public function get frameRate():Number
    public function set frameRate(value:Number):void

hotSpot

属性 
hotSpot:Point

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.2, AIR 2.6

以像素表示的光标热点。

热点是指在光标上注册鼠标单击所在的点。默认情况下,热点位于左上角 (0,0)。



实现
    public function get hotSpot():Point
    public function set hotSpot(value:Point):void
构造函数详细信息

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;
        }
    }
    
}




[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。