包 | flash.ui |
类 | public final class Mouse |
继承 | Mouse Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
另请参见
属性 | 定义方 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
cursor : String [静态] 设置鼠标光标。 | Mouse | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object |
方法 | 定义方 | ||
---|---|---|---|
指示对象是否已经定义了指定的属性。 | Object | ||
[静态] 隐藏指针。 | Mouse | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
[静态] 显示指针。 | Mouse | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
cursor | 属性 |
cursor:String
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
设置鼠标光标。
默认值为 flash.ui.MouseCursor.AUTO
。
若要设置此属性的值,请使用下列字符串值:
字符串值 | Description |
---|---|
flash.ui.MouseCursor.AUTO
| 鼠标光标将根据鼠标下的对象自动更改。 |
flash.ui.MouseCursor.ARROW
| 鼠标光标将是一个箭头。 |
flash.ui.MouseCursor.BUTTON
| 鼠标光标将是一只点击按钮的手。 |
flash.ui.MouseCursor.HAND
| 鼠标光标将是一只正在拖动的手。 |
flash.ui.MouseCursor.IBEAM
| 鼠标光标将呈工字形。 |
public static function get cursor():String
public function set cursor(value:String):void
ArgumentError —
如果设置的值不是 flash.ui.MouseCursor 的成员。
|
另请参见
hide | () | 方法 |
public static function hide():void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
隐藏指针。默认情况下,指针是可见的。
注意:无论之前调用了多少次 Mouse.show()
,Mouse.hide()
只需要调用一次。
另请参见
show | () | 方法 |
public static function show():void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
显示指针。默认情况下,指针是可见的。
注意:无论之前调用了多少次 Mouse.hide()
,Mouse.show()
只需要调用一次。
另请参见
cursor
、CustomButton 类型的 child
和 uint 类型的 gutter
。
child
赋给新的 CustomButton 实例,将其 x 和 y 坐标设置为各 10 像素,然后将该实例添加到显示列表中。CustomButton 类覆盖 SimpleButton 中的 downState
、upState
、overState
和 hitTestState
属性。其中的每一个属性都实例化一个 ButtonDisplayState 对象,这些对象将绘制不同的正方形,具体取决于 child
实例的状态。
child
实例然后用于添加 MOUSE_OVER
事件侦听器和 mouseOverHandler()
侦听器方法以及 MOUSE_OUT
事件侦听器和关联的 mouseOutHandler()
方法。
mouseOverHandler
:隐藏“普通”指针并添加 MOUSE_MOVE
侦听器,该侦听器使用下述 mouseMoveHandler()
处理鼠标移动。
mouseOutHandler
:当鼠标移动到自定义按钮之外时,显示“普通”指针,删除 MOUSE_MOVE
事件侦听器,并将自定义光标的可见性设置为 false
。
mouseMoveHandler
:指针移到哪里,自定义光标就跟到哪里,并将自定义光标的可见性设置为 true
。
MouseExample
构造函数中,将光标属性赋给新的 CustomCursor 对象,然后使用 addChild()
将该对象添加到显示列表中。每当鼠标停留在 child
之上时,CustomCursor 类会绘制一个几近黑色的小正方形来替代“普通”指针。
MOUSE_LEAVE
类型的第四个事件侦听器以及关联的 mouseLeaveHandler()
方法。在此方法(如果鼠标离开舞台则调用此方法)中,向 mouseOutHandler()
传递一个新 mouseMove
侦听器对象,该对象彻底删除指针,使其不留在舞台上。
package { import flash.display.Sprite; import flash.display.DisplayObject; import flash.ui.Mouse; import flash.events.*; public class MouseExample extends Sprite { private var cursor:CustomCursor; private var child:CustomButton; private var gutter:uint = 10; public function MouseExample() { child = new CustomButton(); child.x = gutter; child.y = gutter; addChild(child); child.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); child.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); cursor = new CustomCursor(); addChild(cursor); stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler); } private function mouseOverHandler(event:MouseEvent):void { trace("mouseOverHandler"); Mouse.hide(); child.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); } private function mouseOutHandler(event:MouseEvent):void { trace("mouseOutHandler"); Mouse.show(); child.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); cursor.visible = false; } private function mouseMoveHandler(event:MouseEvent):void { trace("mouseMoveHandler"); cursor.x = event.localX; cursor.y = event.localY; event.updateAfterEvent(); cursor.visible = true; } private function mouseLeaveHandler(event:Event):void { trace("mouseLeaveHandler"); mouseOutHandler(new MouseEvent(MouseEvent.MOUSE_MOVE)); } } } import flash.display.Shape; import flash.display.SimpleButton; class CustomButton extends SimpleButton { var upColor:uint = 0xFFCC00; var overColor:uint = 0xCCFF00; var downColor:uint = 0x00CCFF; var size:uint = 80; public function CustomButton() { downState = new ButtonDisplayState(downColor, size+10); overState = new ButtonDisplayState(overColor, size); upState = new ButtonDisplayState(upColor, size); hitTestState = new ButtonDisplayState(upColor, size); } } class ButtonDisplayState extends Shape { var bgColor:uint; var size:uint; public function ButtonDisplayState(bgColor:uint, size:uint) { this.bgColor = bgColor; this.size = size; draw(); } private function draw():void { graphics.clear(); graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } } class CustomCursor extends Shape { var bgColor:uint = 0x333333; var size:uint = 10; public function CustomCursor() { visible = false; draw(); } private function draw():void { graphics.clear(); graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } }