Mojo.Event.tap - как получить координаты тапа?

Мне трудно узнать, как получить координаты касания из объекта 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?
}

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


person Arturas Smorgun    schedule 17.09.2009    source источник


Ответы (1)


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

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);
}
person Ryan Watkins    schedule 18.09.2009
comment
Потрясающе, именно то, что я искал целый день. Странно, что я не нашел документации по объекту события. Спасибо. - person Arturas Smorgun; 18.09.2009
comment
В документации SDK сейчас много вещей. - person Ryan Watkins; 18.09.2009