套件 | flash.ui |
類別 | public final class MouseCursorData |
繼承 | MouseCursorData Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.2, AIR 2.6 |
若要顯示游標,請使用 Mouse.registerCursor()
函數。若要將游標影像的控制傳回給作業系統,請呼叫 Mouse.unregisterCursor()
。呼叫 Mouse.supportsNativeCursor
可測試目前電腦是否支援原生游標。
最大游標大小為 32x32 像素。大多數的作業系統都支援透明度。
原生滑鼠游標是透過作業系統游標機制直接實作,與使用顯示物件相比,可以更有效率地顯示自訂游標影像。在 data
屬性中提供一個以上的影像並設定影格速率,就能呈現游標的動畫。
游標只會在舞台範圍內顯示。超出舞台時,游標影像的控制就會傳回給作業系統
詳細資訊
相關 API 元素
公用屬性
屬性 | 定義自 | ||
---|---|---|---|
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
data : Vector.<BitmapData>
BitmapData 物件的向量,包含游標影像。 | MouseCursorData | ||
frameRate : Number
用來呈現游標動畫的影格速率。 | MouseCursorData | ||
hotSpot : Point
游標的感應區 (以像素為單位)。 | MouseCursorData |
公用方法
方法 | 定義自 | ||
---|---|---|---|
建立 MouseCursorData 物件。 | MouseCursorData | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object |
屬性詳細資訊
data | 屬性 |
data:Vector.<BitmapData>
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.2, AIR 2.6 |
BitmapData 物件的向量,包含游標影像。
提供一個以上的影像並設定 framerate
屬性,可呈現游標的動畫。
最大游標大小為 32x32 像素。
實作
public function get data():Vector.<BitmapData>
public function set data(value:Vector.<BitmapData>):void
frameRate | 屬性 |
hotSpot | 屬性 |
建構函式詳細資料
MouseCursorData | () | 建構函式 |
public function MouseCursorData()
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.2, AIR 2.6 |
建立 MouseCursorData 物件。
若要顯示游標,請呼叫 Mouse.registerCursor()
函數。
相關 API 元素
範例 如何使用本範例
MouseCursorDataExample.as
下列範例會為滑鼠游標建立並顯示轉動的箭頭。
範例使用 Graphics 類別提供的繪圖命令來建立八個旋轉的箭頭影像。這些影像會推入向量並指派給 MouseCursorData 物件的 data
屬性 (請注意,您也可以將預先呈現的點陣圖影像當做游標使用)。
package { import flash.display.Sprite; import flash.display.Shape; import flash.display.BitmapData; import flash.display.GraphicsPath; import flash.ui.MouseCursorData; import flash.ui.Mouse; import flash.geom.Matrix; public class MouseCursorDataExample extends Sprite { //Graphics path data for an arrow private var cursorPoints:Vector.<Number> = new <Number>[0,8, 16,8, 16,0, 24,12, 16,24, 16,16, 0,16, 0,8]; private var cursorDrawCommands:Vector.<int> = new <int>[1,2,2,2,2,2,2,2]; public function MouseCursorDataExample() { var mouseCursorData:MouseCursorData = new MouseCursorData(); mouseCursorData.data = makeCursorImages(); mouseCursorData.frameRate = 1; Mouse.registerCursor( "spinningArrow", mouseCursorData ); Mouse.cursor = "spinningArrow"; } //Returns a Vector containing 8 cursor images private function makeCursorImages():Vector.<BitmapData> { var cursorData:Vector.<BitmapData> = new Vector.<BitmapData>(); var cursorShape:Shape = new Shape(); cursorShape.graphics.beginFill( 0xff5555, .75 ); cursorShape.graphics.lineStyle( 1 ); cursorShape.graphics.drawPath( cursorDrawCommands, cursorPoints ); cursorShape.graphics.endFill(); var transformer:Matrix = new Matrix(); //Rotate and draw the arrow shape to a BitmapData object for each of 8 frames for( var i:int = 0; i < 8; i++ ) { var cursorFrame:BitmapData = new BitmapData( 32, 32, true, 0 ); cursorFrame.draw( cursorShape, transformer ); cursorData.push( cursorFrame ); transformer.translate(-15,-15); transformer.rotate( 0.785398163 ); transformer.translate(15,15); } return cursorData; } } }
Tue Jun 12 2018, 03:47 PM Z