パッケージ | 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.hide()
は 1 回だけ呼び出す必要があります。これは、それまでに Mouse.show()
を呼び出した回数とは無関係です。
関連する 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.show()
は 1 回だけ呼び出す必要があります。これは、それまでに Mouse.hide()
を呼び出した回数とは無関係です。
関連する 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
プロパティをオーバーライドします。これらの各プロパティは、child
インスタンスの状態に応じて、異なる四角形を描画する ButtonDisplayState オブジェクトをインスタンス化します。child
インスタンスは次に、MOUSE_OVER
イベントリスナー、mouseOverHandler()
リスナーメソッド、およびMOUSE_OUT
イベントリスナーおよび関連するmouseOutHandler()
メソッドの追加に使用されます。- イベントリスナーは、以下のように動作します。
mouseOverHandler
は、通常のポインターを非表示にして、MOUSE_MOVE
リスナーを追加します。このリスナーは、以下に記述するとおり、mouseMoveHandler()
を使用してポインターの移動を処理するものです。mouseOutHandler
は、ポインターがカスタムボタンの外側に移動した場合、通常のポインターを表示し、MOUSE_MOVE
イベントリスナーを削除して、カスタムカーソルの可視性をfalse
に設定します。mouseMoveHandler
は、ポインターが移動した場所にカスタムカーソルを移動し、カスタムカーソルの可視性をtrue
に設定します。
MouseExample
コンストラクターに戻り、カーソルのプロパティを新しい CustomCursor オブジェクトに割り当てた後、addChild()
を使用して表示リストに追加します。CustomCursor クラスは、通常のポインターの代わりに黒色に近い小さな四角形を描画します。この描画は、ポインターがchild
の上に置かれたときに実行されます。- タイプが
MOUSE_LEAVE
の 4 番目のイベントリスナーが、関連する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(); } }
Tue Jun 12 2018, 10:34 AM Z