サイトトップ

Director Flash 書籍 業務内容 プロフィール

Macromedia Flash非公式テクニカルノート

Stage.mouseLockとMouseEvent.movementX/MouseEvent.movementYプロパティ

ID: FN1203008 Platform: All Version: CS5/ActionScript 3.0 Runtime: Flash Player 11.2/AIR 3.2

Stageクラス
パッケージ flash.display
継承 Stage → DisplayObjectContainer → InteractiveObject → DisplayObject → EventDispatcher → Object
mouseLockプロパティ
文法 mouseLock:Boolean
プロパティ値 フルスクリーンモードでtrueを設定すると、マウスポインタが表示されない。
実装

public function get mouseLock():Boolean
public function set mouseLock(value:Boolean):void

MouseEventクラス
パッケージ flash.events
継承 MouseEvent → Event → Object
movementXプロパティ
文法 movementX:Number
プロパティ値 マウスポインタのx座標値の直前のマウスイベントからの差。マウスがロックされているときに用いる。
実装

public function get movementX():Number
public function set movementX(value:Number):void

movementYプロパティ
文法 movementY:Number
プロパティ値 マウスポインタのy座標値の直前のマウスイベントからの差。マウスがロックされているときに用いる。
実装

public function get movementY():Number
public function set movementY(value:Number):void

説明
マウスロックを設定します。Stage.mouseLockプロパティをtrueにすると、マウスポインタが表示されなくなります。この機能は、フルスクリーンモードのPCアプリケーションでのみ使えます。フルスクリーンモードでなかったり、モバイルデバイスのアプリケーションでプロパティを設定すると例外が生じます[*1]。モバイルデバイスでは、そもそもマウスが想定されていません。

フルスクリーンのモードが終わると、マウスロックは解け、ポインタが表れます。すると、Stage.mouseLockプロパティの値はfalseになります。

    【フルスクリーンモードの終了】
  • フルスクリーンの終了キーを押す。
    • Mac: [esc]キー/[command] + [W]
    • Windows: [Esc]キー/[Ctrl] + [W]/[Alt] + [F4]
  • アプリケーションウィンドウのフォーカスが外れる。
  • 設定用ユーザーインターフェイス(プライバシー設定など)が起ち上がる。
  • ネイティブダイアログボックス(ファイルアップロードなど)が開く。

Stage.mouseLockプロパティが正しくtrueに設定されると、Stageオブジェクト以外のDisplayObjectインスタンスはマウスイベントを受取りません。したがって、そのときにマウスイベントを扱わせたいリスナーは、Stageオブジェクトに登録します。ただし、マウスがロックされている間は、リスナーが引数に受取るMouseEventオブジェクトのMouseEvent.localXMouseEvent.localYプロパティが0になるのでご注意ください。

マウスがロックされているときには、マウスポインタの座標はMouseEventオブジェクトのMouseEvent.movementXおよびMouseEvent.movementYプロパティで調べます[*2]。ふたつのプロパティは、直前のマウスイベントのときのポインタ座標から見た差の値です。また、これらの座標はステージに変形が加えられても変わらず、あくまで画面上のxy座標値になります。マウスのロックが解かれると、プロパティ値はともに0になります。

[*1] フルスクリーンモードでなかったり、モバイルデバイスのアプリケーションでも、Stage.mouseLockプロパティの値を調べることはできます。フルスクリーンでないときは、読取り専用と捉えてもよいでしょう。

[*2] Stage.mouseLockとこれらのプロパティを使ったスクリプトのサンプルは、机上のにゅーろん「FlashPlayer11.2の新機能とかまとめ。」5.「stage.mouseLockとmouseEvent.movementX, mouseEvent.movementY」を参考にされるとよいでしょう。

参考
[ActionScript 3.0 Reference for the Adobe Flash Platform] > [Stage]の「mouseLock property」の項
[MouseEvent]の「movementX property」および「movementY property」の項
ByteArray.org「Introducing Mouse lock, right and middle click events
akihiro kamijo「Flash Player 11.2 と AIR 3.2 ベータ 2 公開


作成者: 野中文雄
作成日: 2012年3月29日


Copyright © 2001-2012 Fumio Nonaka.  All rights reserved.