質問

カスタムハンドラーに渡されるtapEventオブジェクトからタップ座標を取得する方法を見つけるのが困難です(とにかく仕様が見つかりませんでした)。また、カスタム変数「X」を渡すsingleTapイベントもあります。 " Y"は座標であると推測しますが、Emulatorでそれを呼び出すことはできません。

ポイントは、大きな要素があり、ユーザーが正確にタップした場所を知る必要がある1つのアプリケーションで作業していることです(グローバル画面座標または要素の相対座標)。

サンプルコードは次のとおりです。

//inside of assistant's setup method:
Mojo.Event.listen(this.controller.get('elem'), Mojo.Event.tap, this.listenSingleTap.bindAsEventListener(this));

//custom handler:
SomeAssistant.prototype.listenSingleTap = function(singleTapEvent){
    this.someOtherMethod(singleTapEvent.x, singleTapEvent.y); //This is wrong and doesn't work - how I suppose to get tap coordinates?
}

ご提案ありがとうございます。

役に立ちましたか?

解決

タップイベントのx座標とy座標は「下」にあります。イベントのプロパティ。

MyAssistant.prototype.setup = function() {
    Mojo.Event.listen(this.controller.get('elem'), Mojo.Event.tap, this.handleTap.bind(this));
}

MyAssistant.prototype.handleTap = function(event) { 
    Mojo.Log.info("tap down at x: " + event.down.x + " y: " + event.down.y);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top