| 包 | flash.ui |
| 类 | public final class Mouse |
| 继承 | Mouse Object |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
相关 API 元素
公共属性
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| cursor : String [静态]
本机光标的名称。 | Mouse | ||
| supportsCursor : Boolean [静态] [只读]
表示计算机或设备是否显示永久光标。 | Mouse | ||
| supportsNativeCursor : Boolean [静态] [只读]
表示当前配置是否支持本机光标。 | Mouse | ||
公共方法
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
[静态]
隐藏指针。 | Mouse | ||
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
[静态]
使用给定数据在给定名称下注册本机光标。 | Mouse | ||
![]() |
设置循环操作动态属性的可用性。 | Object | |
[静态]
显示指针。 | Mouse | ||
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
[静态]
取消注册具有给定名称的本机光标。 | Mouse | ||
![]() |
返回指定对象的原始值。 | Object | |
属性详细信息
cursor | 属性 |
supportsCursor | 属性 |
supportsCursor:Boolean [只读] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10.1, AIR 2 |
表示计算机或设备是否显示永久光标。
在大多数桌面计算机上 supportsCursor 属性为 true,而在大多数移动设备上为 false。
注意:不管该属性是否为 true 都可调度鼠标事件。但是,鼠标事件的行为可能不同,具体取决于指针设备的物理特性。
实现
public static function get supportsCursor():Boolean相关 API 元素
示例 ( 如何使用本示例 )
以下示例是一个简单测试,用于指示当前是否支持永久光标。测试该示例时,单击文本字段可查看属性值:
import flash.events.*;
import flash.display.*;
import flash.ui.Mouse;
import flash.text.TextField;
var supportsCursorTxt:TextField = new TextField();
supportsCursorTxt.width = 200;
supportsCursorTxt.border = true;
addChild(supportsCursorTxt);
addEventListener (MouseEvent.CLICK, getScreenKeyboardType);
function getScreenKeyboardType(e:MouseEvent):void{
supportsCursorTxt.text= "Supports Cursor is : " + String(flash.ui.Mouse.supportsCursor);
}
下面的示例对不同的用户输入环境进行测试并做出响应。此示例假设它是与使用光标的游戏对应的代码的一部分。首先,此示例测试该环境是否支持使用光标。如果不支持,则测试该环境是否支持与笔针交互。如果支持,则插入代码来自定义游戏以使用笔针。如果此环境支持手指交互,则插入代码来自定义程序以满足特定的手指触摸需求。如果没有任何受支持的指针设备,则开发人员需要创建替代光标或某种交互方式,例如,按键。
if(Mouse.supportsCursor) {
//Game acts as before
} else {
if(Capabilities.touchscreenType == TouchscreenType.STYLUS ){
//The Game has to change so that the character is chasing the location of the stylus as
//it's dragged around. Some of the animations will have to change
}else if(Capabilities.touchscreenType = TouchscreenType.FINGER){
//Same as above, except that the hit-area is larger for a finger.
}else{
//There's no pointing device at all. The developer designs some sort of custom cursor to
//be controlled with key presses or similar input
}
}
supportsNativeCursor | 属性 |
方法详细信息
hide | () | 方法 |
public static function hide():void| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
隐藏指针。默认情况下,指针是可见的。
注意:无论以前调用了 Mouse.show() 多少次,Mouse.hide() 只需要调用一次。
相关 API 元素
registerCursor | () | 方法 |
public static function registerCursor(name:String, cursor:MouseCursorData):void| 语言版本: | ActionScript 3.0 |
| 运行时版本: | Flash Player 10.2, AIR 1.5 |
使用给定数据在给定名称下注册本机光标。
参数
name:String | |
cursor:MouseCursorData |
show | () | 方法 |
public static function show():void| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
显示指针。默认情况下,指针是可见的。
注意:无论以前调用了 Mouse.hide() 多少次,Mouse.show() 只需要调用一次。
相关 API 元素
unregisterCursor | () | 方法 |
示例 如何使用本示例
MouseExample.as
下例使用 MouseExample、SimpleButton、ButtonDisplayState 和 CustomCursor 类将一个简单的按钮放在舞台上。按钮具有自定义指针,并且在单击按钮时该按钮将会发生变化。这是由以下步骤完成的:
- 声明下列实例属性:CustomCursor 类型的
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();
}
}
Tue Jun 12 2018, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性