包 | 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