Mojo.Event.tap - como obter coordenadas de toque?
Pergunta
Estou tendo dificuldade em descobrir como obter coordenadas de toque do objeto tapEvent, que é passado para meu manipulador personalizado (de qualquer maneira, não encontrei sua especificação).Há também o evento singleTap, que passa variáveis personalizadas "X" como "Y", que são coordenadas, eu acho, mas não posso invocar essa no Emulator.
A questão é que estou trabalhando em um aplicativo, onde tenho um grande elemento e preciso saber exatamente onde o usuário tocou (talvez a coordenada global da tela ou a coordenada relativa do meu elemento).
Aqui está um exemplo de código:
//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?
}
Muito obrigado por qualquer sugestão.
Solução
As coordenadas xey do evento tap estão na propriedade "down" do evento.
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);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow