Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: サーバーからデータを取得しています...
サーバーからデータを取得しています...
flash.ui 

Mouse  - AS3

パッケージflash.ui
クラスpublic final class Mouse
継承Mouse Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9

Mouse クラスのメソッドはマウスポインターを表示または非表示にしたり、ポインターを指定のスタイルに設定するために使用します。Mouse クラスはトップレベルのクラスで、コンストラクターを実行しなくてもそのメソッドやプロパティを使用できます。デフォルトではマウスポインターが表示されますが、マウスポインターを非表示にし、カスタムポインターを使用することもできます。

例を表示

関連する API エレメント



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
  cursor : String
[静的] ネイティブカーソルの名前。
Mouse
  supportsCursor : Boolean
[静的] [読み取り専用] コンピューターまたはデバイスでカーソルを常に表示することを指定します。
Mouse
  supportsNativeCursor : Boolean
[静的] [読み取り専用] 現在の構成がネイティブカーソルをサポートしていることを示します。
Mouse
パブリックメソッド
 メソッド定義元
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
[静的] ポインターを非表示にします。
Mouse
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
[静的] 指定したデータを持つ指定した名前のネイティブカーソルを登録します。
Mouse
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
[静的] ポインターを表示します。
Mouse
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
[静的] 指定した名前のネイティブカーソルの登録を解除します。
Mouse
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細

cursor

プロパティ
cursor:String

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.2, AIR 1.5

ネイティブカーソルの名前。



実装
    public static function get cursor():String
    public static function set cursor(value:String):void

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

プロパティ 
supportsNativeCursor:Boolean  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.2, AIR 1.5

現在の構成がネイティブカーソルをサポートしていることを示します。



実装
    public static function get supportsNativeCursor():Boolean
メソッドの詳細

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

()メソッド 
public static function unregisterCursor(name:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.2, AIR 1.5

指定した名前のネイティブカーソルの登録を解除します。

パラメーター

name:String

MouseExample.as

次のコードの例では、MouseExample、SimpleButton、ButtonDisplayState、および CustomCursor クラスを使用して、単純なボタンをステージ上に配置します。ボタンにはカスタムポインターがあり、クリックするとボタンが変更されます。これを行うには、以下の手順を実行します。
  1. 次のインスタンスプロパティを宣言します。CustomCursor 型の cursor、CustomButton 型の child、および uint 型の gutter
  2. child を新しい CustomButton インスタンスに割り当て、その x 座標および y 座標をそれぞれ 10 ピクセルに設定し、インスタンスを表示リストに追加します。CustomButton クラスは、SimpleButton クラスの downStateupStateoverState、および hitTestState プロパティをオーバーライドします。これらの各プロパティは、child インスタンスの状態に応じて、異なる四角形を描画する ButtonDisplayState オブジェクトをインスタンス化します。
  3. child インスタンスは次に、MOUSE_OVER イベントリスナー、mouseOverHandler() リスナーメソッド、および MOUSE_OUT イベントリスナーおよび関連する mouseOutHandler() メソッドの追加に使用されます。
  4. イベントリスナーは、以下のように動作します。
    • mouseOverHandler は、通常のポインターを非表示にして、MOUSE_MOVE リスナーを追加します。このリスナーは、以下に記述するとおり、mouseMoveHandler() を使用してポインターの移動を処理するものです。
    • mouseOutHandler は、ポインターがカスタムボタンの外側に移動した場合、通常のポインターを表示し、MOUSE_MOVE イベントリスナーを削除して、カスタムカーソルの可視性を false に設定します。
    • mouseMoveHandler は、ポインターが移動した場所にカスタムカーソルを移動し、カスタムカーソルの可視性を true に設定します。
  5. MouseExample コンストラクターに戻り、カーソルのプロパティを新しい CustomCursor オブジェクトに割り当てた後、addChild() を使用して表示リストに追加します。CustomCursor クラスは、通常のポインターの代わりに黒色に近い小さな四角形を描画します。この描画は、ポインターが child の上に置かれたときに実行されます。
  6. タイプが 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();
    }
}




[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。