Mojo.Event.tap - comment obtenir les coordonnées du tap?
Question
J'ai du mal à trouver comment obtenir les coordonnées de tap depuis l'objet tapEvent, qui sont transmises à mon gestionnaire personnalisé (je n'ai pas trouvé sa spécification de toute façon). Il existe également un événement singleTap, qui transmet les variables personnalisées " X " comme "Y", ce qui est des coordonnées, je suppose, mais je ne peux pas invoquer celui-là dans Emulator.
Le fait est que je travaille sur une application, où j'ai un gros élément et que je dois savoir exactement où l'utilisateur a tapé (ce peut être une coordonnée d'écran globale ou une coordonnée relative de mon élément).
Voici un exemple de code:
//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?
}
Merci beaucoup pour vos suggestions.
La solution
Les coordonnées x et y de l'événement tap se trouvent dans les champs "bas". propriété de l'événement.
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);
}