Phaser.Touch = function (game){ this.game = game; this.disabled = false ; this.callbackContext = this.game; this.touchStartCallback = null ; this.touchMoveCallback = null ; this.touchEndCallback = null ; this.touchEnterCallback = null ; this.touchLeaveCallback = null ; this.touchCancelCallback = null ; this.preventDefault = true ; this.event = null ; this._onTouchStart = null ; this._onTouchMove = null ; this._onTouchEnd = null ; this._onTouchEnter = null ; this._onTouchLeave = null ; this._onTouchCancel = null ; this._onTouchMove = null ; } ; Phaser.Touch.prototype = { start: function (){ if (this._onTouchStart !== null ) { return ; } var _this = this; if (this.game.device.touch) { this._onTouchStart = function (event){ return _this.onTouchStart(event); } ; this._onTouchMove = function (event){ return _this.onTouchMove(event); } ; this._onTouchEnd = function (event){ return _this.onTouchEnd(event); } ; this._onTouchEnter = function (event){ return _this.onTouchEnter(event); } ; this._onTouchLeave = function (event){ return _this.onTouchLeave(event); } ; this._onTouchCancel = function (event){ return _this.onTouchCancel(event); } ; this.game.canvas.addEventListener('touchstart', this._onTouchStart, false ); this.game.canvas.addEventListener('touchmove', this._onTouchMove, false ); this.game.canvas.addEventListener('touchend', this._onTouchEnd, false ); this.game.canvas.addEventListener('touchcancel', this._onTouchCancel, false ); if (!this.game.device.cocoonJS) { this.game.canvas.addEventListener('touchenter', this._onTouchEnter, false ); this.game.canvas.addEventListener('touchleave', this._onTouchLeave, false ); } } } , consumeDocumentTouches: function (){ this._documentTouchMove = function (event){ event.preventDefault(); } ; document.addEventListener('touchmove', this._documentTouchMove, false ); } , onTouchStart: function (event){ this.event = event; if (this.touchStartCallback) { this.touchStartCallback.call(this.callbackContext, event); } if (this.game.input.disabled || this.disabled) { return ; } if (this.preventDefault) { event.preventDefault(); } for (var i = 0; i < _AN_Read_length('length', event.changedTouches); i++ ){ this.game.input.startPointer(event.changedTouches[i]); } } , onTouchCancel: function (event){ this.event = event; if (this.touchCancelCallback) { this.touchCancelCallback.call(this.callbackContext, event); } if (this.game.input.disabled || this.disabled) { return ; } if (this.preventDefault) { event.preventDefault(); } for (var i = 0; i < _AN_Read_length('length', event.changedTouches); i++ ){ this.game.input.stopPointer(event.changedTouches[i]); } } , onTouchEnter: function (event){ console.log('touch enter', event); this.event = event; if (this.touchEnterCallback) { this.touchEnterCallback.call(this.callbackContext, event); } if (this.game.input.disabled || this.disabled) { return ; } if (this.preventDefault) { event.preventDefault(); } } , onTouchLeave: function (event){ this.event = event; if (this.touchLeaveCallback) { this.touchLeaveCallback.call(this.callbackContext, event); } if (this.preventDefault) { event.preventDefault(); } } , onTouchMove: function (event){ this.event = event; if (this.touchMoveCallback) { this.touchMoveCallback.call(this.callbackContext, event); } if (this.preventDefault) { event.preventDefault(); } for (var i = 0; i < _AN_Read_length('length', event.changedTouches); i++ ){ this.game.input.updatePointer(event.changedTouches[i]); } } , onTouchEnd: function (event){ this.event = event; if (this.touchEndCallback) { this.touchEndCallback.call(this.callbackContext, event); } if (this.preventDefault) { event.preventDefault(); } for (var i = 0; i < _AN_Read_length('length', event.changedTouches); i++ ){ this.game.input.stopPointer(event.changedTouches[i]); } } , stop: function (){ if (this.game.device.touch) { this.game.canvas.removeEventListener('touchstart', this._onTouchStart); this.game.canvas.removeEventListener('touchmove', this._onTouchMove); this.game.canvas.removeEventListener('touchend', this._onTouchEnd); this.game.canvas.removeEventListener('touchenter', this._onTouchEnter); this.game.canvas.removeEventListener('touchleave', this._onTouchLeave); this.game.canvas.removeEventListener('touchcancel', this._onTouchCancel); } } } ; Phaser.Touch.prototype.constructor = Phaser.Touch;