サイトトップ

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

HTML5テクニカルノート

EaselJS NEXT: MouseEvent.localX/MouseEvent.localYプロパティ

ID: FN1311002 Technique: HTML5 and JavaScript Library: EaselJS NEXT

MouseEvent.localXプロパティ
文法 MouseEventオブジェクト.localX
プロパティ値

[読取り専用] イベントリスナーが加えられたオブジェクトから見たマウスポインタのx座標値。

MouseEvent.localYプロパティ
文法 MouseEventオブジェクト.localY
プロパティ値

[読取り専用] イベントリスナーが加えられたオブジェクトから見たマウスポインタのy座標値。


説明

MouseEvent.localXMouseEvent.localYプロパティは、イベントが起こったときのマウスポインタのxy座標値を、リスナーが加えられたオブジェクト(Event.currentTargetプロパティの参照)の座標系にもとづいて調べて返します。読取り専用のプロパティです。


実装

MouseEvent.localXMouseEvent.localYプロパティは、実質的に以下のように実装されました。Object.defineProperties()メソッドで、ふたつのプロパティがget演算子のみの定めにより読取り専用となっています。呼出されるメソッド(_get_localX()と_get_localY())は、MouseEvent.rawXおよびMouseEvent.rawYプロパティで調べたステージ上のマウスポインタのxy座標を、DisplayObject.globalToLocal()メソッドが参照するインスタンス(Event.currentTargetプロパティ)から見た座標に変換しています(「EaselJSでインスタンスをクリックした座標で回しながらドラッグする」02「インスタンスのクリックした座標を中心に回す」参照)

  1. p._get_localX = function() {
  2.   return this.currentTarget.globalToLocal(this.rawX, this.rawY).x;
  3. };
  4. p._get_localY = function() {
  5.   return this.currentTarget.globalToLocal(this.rawX, this.rawY).y;
  6. };
  7. try {
  8.   Object.defineProperties(p, {
  9.     localX: { get: p._get_localX },
  10.     localY: { get: p._get_localY }
  11.   });
  12. } catch (e) {}


作成者: 野中文雄
作成日: 2013年11月21日


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