パッケージ | 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>
1 つまたは複数のカーソルイメージを含む 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 |
1 つまたは複数のカーソルイメージを含む BitmapData オブジェクトのベクトルです。
カーソルをアニメーション化するには、複数のイメージを提供し、framerate
プロパティを設定します。
カーソルの最大サイズは 32x32 ピクセルです。
実装
public function get data():Vector.<BitmapData>
public function set data(value:Vector.<BitmapData>):void
frameRate | プロパティ |
frameRate:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10.2, AIR 2.6 |
カーソルのアニメーション化のフレームレートです。
カーソルをアニメーション化するには、data
プロパティで複数のイメージを提供し、フレームレートを 0 よりも大きい値に設定します。カーソルのフレームレートは、現在の SWF フレームレートとは異なる場合があります。
実装
public function get frameRate():Number
public function set frameRate(value:Number):void
hotSpot | プロパティ |
MouseCursorData | () | コンストラクター |
public function MouseCursorData()
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10.2, AIR 2.6 |
MouseCursorData オブジェクトを作成します。
カーソルを表示するには、Mouse.registerCursor()
関数を呼び出します。
関連する API エレメント
この例では、Graphics クラスで使用可能な描画コマンドを使用して、8 つの回転する矢印のイメージを作成します。これらのイメージはベクターにプッシュされ、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, 10:34 AM Z