| 包 | 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):voidArgumentError —
如果设置的值不是 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();
}
}