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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

例を表示

関連項目

flash.events.MouseEvent
マウス入力のキャプチャ


パブリック プロパティ
 プロパティ定義元
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリック メソッド
 メソッド定義元
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
[static] ポインタを非表示にします。
Mouse
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
[static] ポインタを表示します。
Mouse
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
メソッドの詳細
hide()メソッド
public static function hide():void

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

ポインタを非表示にします。デフォルトでは、ポインタは表示されます。

関連項目

show()メソッド 
public static function show():void

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

ポインタを表示します。デフォルトでは、ポインタは表示されます。

関連項目

例の使用法
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();
    }
}




 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/ui/Mouse.html