| 包 | flash.ui |
| 类 | public final class Mouse |
| 继承 | Mouse Object |
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
另请参见
| 方法 | 定义方 | ||
|---|---|---|---|
![]() |
指示对象是否已经定义了指定的属性。
| Object | |
|
[static]
隐藏指针。
| Mouse | ||
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | |
![]() |
指示指定的属性是否存在、是否可枚举。
| Object | |
![]() |
设置循环操作动态属性的可用性。
| Object | |
|
[static]
显示指针。
| Mouse | ||
![]() |
返回指定对象的字符串表示形式。
| Object | |
![]() |
返回指定对象的原始值。
| Object | |
| hide | () | 方法 |
public static function hide():void
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
隐藏指针。 默认情况下,指针是可见的。
另请参见
| show | () | 方法 |
public static function show():void
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
显示指针。 默认情况下,指针是可见的。
另请参见
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();
}
}
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/ui/Mouse.html