Mojo.Event.tap - как получить координаты крана? - PullRequest
2 голосов
/ 17 сентября 2009

У меня возникают трудности с поиском, как получить координаты касания из объекта tapEvent, который передается в мой пользовательский обработчик (в любом случае я не нашел его спецификации). Существует также событие singleTap, которое передает пользовательские переменные «X» как «Y», что, я думаю, является координатами, но я не могу вызвать их в эмуляторе.

Дело в том, что я работаю над одним приложением, в котором у меня большой элемент, и мне нужно знать, где именно пользователь нажал (это может быть глобальная экранная координата или относительная координата моего элемента).

Вот пример кода:

//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?
}

Большое спасибо за любые предложения.

1 Ответ

4 голосов
/ 18 сентября 2009

Координаты x и y для события касания находятся в свойстве «down» события.

Ex.

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);
}
...