| 套件 | 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()方法。 在此方法中 (當滑鼠離開舞台時呼叫),會將新的mouseMove偵聽程式物件傳遞給mouseOutHandler(),該物件基本上會移除指標,好讓它不要留在舞台上。
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, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性