Эх сурвалжийг харах

[ts] Fixed multi touch runtime error.

Repro: touch down 1, touch down 2 (using second finger), touch up 1, touch up 2 -> error.
Nathan Sweet 4 жил өмнө
parent
commit
b3c405e9ca

+ 1 - 1
spine-ts/build/spine-all.d.ts

@@ -1337,8 +1337,8 @@ declare module spine.webgl {
 		lastY: number;
 		buttonDown: boolean;
 		currTouch: Touch;
-		touchesPool: Pool<Touch>;
 		private listeners;
+		touchesPool: Pool<Touch>;
 		constructor(element: HTMLElement);
 		private setupCallbacks;
 		addListener(listener: InputListener): void;

+ 78 - 76
spine-ts/build/spine-all.js

@@ -9401,10 +9401,10 @@ var spine;
 				this.lastY = 0;
 				this.buttonDown = false;
 				this.currTouch = null;
+				this.listeners = new Array();
 				this.touchesPool = new spine.Pool(function () {
 					return new spine.webgl.Touch(0, 0, 0);
 				});
-				this.listeners = new Array();
 				this.element = element;
 				this.setupCallbacks(element);
 			}
@@ -9416,10 +9416,9 @@ var spine;
 						var x = ev.clientX - rect.left;
 						var y = ev.clientY - rect.top;
 						var listeners = _this.listeners;
-						for (var i = 0; i < listeners.length; i++) {
+						for (var i = 0; i < listeners.length; i++)
 							if (listeners[i].down)
 								listeners[i].down(x, y);
-						}
 						_this.lastX = x;
 						_this.lastY = y;
 						_this.buttonDown = true;
@@ -9453,10 +9452,9 @@ var spine;
 						var x = ev.clientX - rect.left;
 						var y = ev.clientY - rect.top;
 						var listeners = _this.listeners;
-						for (var i = 0; i < listeners.length; i++) {
+						for (var i = 0; i < listeners.length; i++)
 							if (listeners[i].up)
 								listeners[i].up(x, y);
-						}
 						_this.lastX = x;
 						_this.lastY = y;
 						_this.buttonDown = false;
@@ -9468,94 +9466,98 @@ var spine;
 				element.addEventListener("mousemove", mouseMove, true);
 				element.addEventListener("mouseup", mouseUp, true);
 				element.addEventListener("touchstart", function (ev) {
-					if (_this.currTouch)
-						return;
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						var rect = element.getBoundingClientRect();
-						var x = touch.clientX - rect.left;
-						var y = touch.clientY - rect.top;
-						_this.currTouch = _this.touchesPool.obtain();
-						_this.currTouch.identifier = touch.identifier;
-						_this.currTouch.x = x;
-						_this.currTouch.y = y;
-						break;
-					}
-					var listeners = _this.listeners;
-					for (var i_17 = 0; i_17 < listeners.length; i_17++) {
-						if (listeners[i_17].down)
-							listeners[i_17].down(_this.currTouch.x, _this.currTouch.y);
+					if (!_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							var rect = element.getBoundingClientRect();
+							var x = touch.clientX - rect.left;
+							var y = touch.clientY - rect.top;
+							_this.currTouch = _this.touchesPool.obtain();
+							_this.currTouch.identifier = touch.identifier;
+							_this.currTouch.x = x;
+							_this.currTouch.y = y;
+							break;
+						}
+						var listeners = _this.listeners;
+						for (var i_17 = 0; i_17 < listeners.length; i_17++) {
+							if (listeners[i_17].down)
+								listeners[i_17].down(_this.currTouch.x, _this.currTouch.y);
+						}
+						_this.lastX = _this.currTouch.x;
+						_this.lastY = _this.currTouch.y;
+						_this.buttonDown = true;
 					}
-					_this.lastX = _this.currTouch.x;
-					_this.lastY = _this.currTouch.y;
-					_this.buttonDown = true;
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchend", function (ev) {
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = _this.currTouch.x = touch.clientX - rect.left;
-							var y = _this.currTouch.y = touch.clientY - rect.top;
-							_this.touchesPool.free(_this.currTouch);
-							var listeners = _this.listeners;
-							for (var i_18 = 0; i_18 < listeners.length; i_18++) {
-								if (listeners[i_18].up)
-									listeners[i_18].up(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = _this.currTouch.x = touch.clientX - rect.left;
+								var y = _this.currTouch.y = touch.clientY - rect.top;
+								_this.touchesPool.free(_this.currTouch);
+								var listeners = _this.listeners;
+								for (var i_18 = 0; i_18 < listeners.length; i_18++) {
+									if (listeners[i_18].up)
+										listeners[i_18].up(x, y);
+								}
+								_this.lastX = x;
+								_this.lastY = y;
+								_this.buttonDown = false;
+								_this.currTouch = null;
+								break;
 							}
-							_this.lastX = x;
-							_this.lastY = y;
-							_this.buttonDown = false;
-							_this.currTouch = null;
-							break;
 						}
 					}
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchcancel", function (ev) {
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = _this.currTouch.x = touch.clientX - rect.left;
-							var y = _this.currTouch.y = touch.clientY - rect.top;
-							_this.touchesPool.free(_this.currTouch);
-							var listeners = _this.listeners;
-							for (var i_19 = 0; i_19 < listeners.length; i_19++) {
-								if (listeners[i_19].up)
-									listeners[i_19].up(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = _this.currTouch.x = touch.clientX - rect.left;
+								var y = _this.currTouch.y = touch.clientY - rect.top;
+								_this.touchesPool.free(_this.currTouch);
+								var listeners = _this.listeners;
+								for (var i_19 = 0; i_19 < listeners.length; i_19++) {
+									if (listeners[i_19].up)
+										listeners[i_19].up(x, y);
+								}
+								_this.lastX = x;
+								_this.lastY = y;
+								_this.buttonDown = false;
+								_this.currTouch = null;
+								break;
 							}
-							_this.lastX = x;
-							_this.lastY = y;
-							_this.buttonDown = false;
-							_this.currTouch = null;
-							break;
 						}
 					}
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchmove", function (ev) {
-					if (!_this.currTouch)
-						return;
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = touch.clientX - rect.left;
-							var y = touch.clientY - rect.top;
-							var listeners = _this.listeners;
-							for (var i_20 = 0; i_20 < listeners.length; i_20++) {
-								if (listeners[i_20].dragged)
-									listeners[i_20].dragged(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = touch.clientX - rect.left;
+								var y = touch.clientY - rect.top;
+								var listeners = _this.listeners;
+								for (var i_20 = 0; i_20 < listeners.length; i_20++) {
+									if (listeners[i_20].dragged)
+										listeners[i_20].dragged(x, y);
+								}
+								_this.lastX = _this.currTouch.x = x;
+								_this.lastY = _this.currTouch.y = y;
+								break;
 							}
-							_this.lastX = _this.currTouch.x = x;
-							_this.lastY = _this.currTouch.y = y;
-							break;
 						}
 					}
 					ev.preventDefault();

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
spine-ts/build/spine-all.js.map


+ 1 - 1
spine-ts/build/spine-player.d.ts

@@ -1306,8 +1306,8 @@ declare module spine.webgl {
 		lastY: number;
 		buttonDown: boolean;
 		currTouch: Touch;
-		touchesPool: Pool<Touch>;
 		private listeners;
+		touchesPool: Pool<Touch>;
 		constructor(element: HTMLElement);
 		private setupCallbacks;
 		addListener(listener: InputListener): void;

+ 78 - 76
spine-ts/build/spine-player.js

@@ -9151,10 +9151,10 @@ var spine;
 				this.lastY = 0;
 				this.buttonDown = false;
 				this.currTouch = null;
+				this.listeners = new Array();
 				this.touchesPool = new spine.Pool(function () {
 					return new spine.webgl.Touch(0, 0, 0);
 				});
-				this.listeners = new Array();
 				this.element = element;
 				this.setupCallbacks(element);
 			}
@@ -9166,10 +9166,9 @@ var spine;
 						var x = ev.clientX - rect.left;
 						var y = ev.clientY - rect.top;
 						var listeners = _this.listeners;
-						for (var i = 0; i < listeners.length; i++) {
+						for (var i = 0; i < listeners.length; i++)
 							if (listeners[i].down)
 								listeners[i].down(x, y);
-						}
 						_this.lastX = x;
 						_this.lastY = y;
 						_this.buttonDown = true;
@@ -9203,10 +9202,9 @@ var spine;
 						var x = ev.clientX - rect.left;
 						var y = ev.clientY - rect.top;
 						var listeners = _this.listeners;
-						for (var i = 0; i < listeners.length; i++) {
+						for (var i = 0; i < listeners.length; i++)
 							if (listeners[i].up)
 								listeners[i].up(x, y);
-						}
 						_this.lastX = x;
 						_this.lastY = y;
 						_this.buttonDown = false;
@@ -9218,94 +9216,98 @@ var spine;
 				element.addEventListener("mousemove", mouseMove, true);
 				element.addEventListener("mouseup", mouseUp, true);
 				element.addEventListener("touchstart", function (ev) {
-					if (_this.currTouch)
-						return;
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						var rect = element.getBoundingClientRect();
-						var x = touch.clientX - rect.left;
-						var y = touch.clientY - rect.top;
-						_this.currTouch = _this.touchesPool.obtain();
-						_this.currTouch.identifier = touch.identifier;
-						_this.currTouch.x = x;
-						_this.currTouch.y = y;
-						break;
-					}
-					var listeners = _this.listeners;
-					for (var i_17 = 0; i_17 < listeners.length; i_17++) {
-						if (listeners[i_17].down)
-							listeners[i_17].down(_this.currTouch.x, _this.currTouch.y);
+					if (!_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							var rect = element.getBoundingClientRect();
+							var x = touch.clientX - rect.left;
+							var y = touch.clientY - rect.top;
+							_this.currTouch = _this.touchesPool.obtain();
+							_this.currTouch.identifier = touch.identifier;
+							_this.currTouch.x = x;
+							_this.currTouch.y = y;
+							break;
+						}
+						var listeners = _this.listeners;
+						for (var i_17 = 0; i_17 < listeners.length; i_17++) {
+							if (listeners[i_17].down)
+								listeners[i_17].down(_this.currTouch.x, _this.currTouch.y);
+						}
+						_this.lastX = _this.currTouch.x;
+						_this.lastY = _this.currTouch.y;
+						_this.buttonDown = true;
 					}
-					_this.lastX = _this.currTouch.x;
-					_this.lastY = _this.currTouch.y;
-					_this.buttonDown = true;
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchend", function (ev) {
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = _this.currTouch.x = touch.clientX - rect.left;
-							var y = _this.currTouch.y = touch.clientY - rect.top;
-							_this.touchesPool.free(_this.currTouch);
-							var listeners = _this.listeners;
-							for (var i_18 = 0; i_18 < listeners.length; i_18++) {
-								if (listeners[i_18].up)
-									listeners[i_18].up(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = _this.currTouch.x = touch.clientX - rect.left;
+								var y = _this.currTouch.y = touch.clientY - rect.top;
+								_this.touchesPool.free(_this.currTouch);
+								var listeners = _this.listeners;
+								for (var i_18 = 0; i_18 < listeners.length; i_18++) {
+									if (listeners[i_18].up)
+										listeners[i_18].up(x, y);
+								}
+								_this.lastX = x;
+								_this.lastY = y;
+								_this.buttonDown = false;
+								_this.currTouch = null;
+								break;
 							}
-							_this.lastX = x;
-							_this.lastY = y;
-							_this.buttonDown = false;
-							_this.currTouch = null;
-							break;
 						}
 					}
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchcancel", function (ev) {
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = _this.currTouch.x = touch.clientX - rect.left;
-							var y = _this.currTouch.y = touch.clientY - rect.top;
-							_this.touchesPool.free(_this.currTouch);
-							var listeners = _this.listeners;
-							for (var i_19 = 0; i_19 < listeners.length; i_19++) {
-								if (listeners[i_19].up)
-									listeners[i_19].up(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = _this.currTouch.x = touch.clientX - rect.left;
+								var y = _this.currTouch.y = touch.clientY - rect.top;
+								_this.touchesPool.free(_this.currTouch);
+								var listeners = _this.listeners;
+								for (var i_19 = 0; i_19 < listeners.length; i_19++) {
+									if (listeners[i_19].up)
+										listeners[i_19].up(x, y);
+								}
+								_this.lastX = x;
+								_this.lastY = y;
+								_this.buttonDown = false;
+								_this.currTouch = null;
+								break;
 							}
-							_this.lastX = x;
-							_this.lastY = y;
-							_this.buttonDown = false;
-							_this.currTouch = null;
-							break;
 						}
 					}
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchmove", function (ev) {
-					if (!_this.currTouch)
-						return;
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = touch.clientX - rect.left;
-							var y = touch.clientY - rect.top;
-							var listeners = _this.listeners;
-							for (var i_20 = 0; i_20 < listeners.length; i_20++) {
-								if (listeners[i_20].dragged)
-									listeners[i_20].dragged(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = touch.clientX - rect.left;
+								var y = touch.clientY - rect.top;
+								var listeners = _this.listeners;
+								for (var i_20 = 0; i_20 < listeners.length; i_20++) {
+									if (listeners[i_20].dragged)
+										listeners[i_20].dragged(x, y);
+								}
+								_this.lastX = _this.currTouch.x = x;
+								_this.lastY = _this.currTouch.y = y;
+								break;
 							}
-							_this.lastX = _this.currTouch.x = x;
-							_this.lastY = _this.currTouch.y = y;
-							break;
 						}
 					}
 					ev.preventDefault();

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
spine-ts/build/spine-player.js.map


+ 1 - 1
spine-ts/build/spine-webgl.d.ts

@@ -1306,8 +1306,8 @@ declare module spine.webgl {
 		lastY: number;
 		buttonDown: boolean;
 		currTouch: Touch;
-		touchesPool: Pool<Touch>;
 		private listeners;
+		touchesPool: Pool<Touch>;
 		constructor(element: HTMLElement);
 		private setupCallbacks;
 		addListener(listener: InputListener): void;

+ 78 - 76
spine-ts/build/spine-webgl.js

@@ -9151,10 +9151,10 @@ var spine;
 				this.lastY = 0;
 				this.buttonDown = false;
 				this.currTouch = null;
+				this.listeners = new Array();
 				this.touchesPool = new spine.Pool(function () {
 					return new spine.webgl.Touch(0, 0, 0);
 				});
-				this.listeners = new Array();
 				this.element = element;
 				this.setupCallbacks(element);
 			}
@@ -9166,10 +9166,9 @@ var spine;
 						var x = ev.clientX - rect.left;
 						var y = ev.clientY - rect.top;
 						var listeners = _this.listeners;
-						for (var i = 0; i < listeners.length; i++) {
+						for (var i = 0; i < listeners.length; i++)
 							if (listeners[i].down)
 								listeners[i].down(x, y);
-						}
 						_this.lastX = x;
 						_this.lastY = y;
 						_this.buttonDown = true;
@@ -9203,10 +9202,9 @@ var spine;
 						var x = ev.clientX - rect.left;
 						var y = ev.clientY - rect.top;
 						var listeners = _this.listeners;
-						for (var i = 0; i < listeners.length; i++) {
+						for (var i = 0; i < listeners.length; i++)
 							if (listeners[i].up)
 								listeners[i].up(x, y);
-						}
 						_this.lastX = x;
 						_this.lastY = y;
 						_this.buttonDown = false;
@@ -9218,94 +9216,98 @@ var spine;
 				element.addEventListener("mousemove", mouseMove, true);
 				element.addEventListener("mouseup", mouseUp, true);
 				element.addEventListener("touchstart", function (ev) {
-					if (_this.currTouch)
-						return;
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						var rect = element.getBoundingClientRect();
-						var x = touch.clientX - rect.left;
-						var y = touch.clientY - rect.top;
-						_this.currTouch = _this.touchesPool.obtain();
-						_this.currTouch.identifier = touch.identifier;
-						_this.currTouch.x = x;
-						_this.currTouch.y = y;
-						break;
-					}
-					var listeners = _this.listeners;
-					for (var i_17 = 0; i_17 < listeners.length; i_17++) {
-						if (listeners[i_17].down)
-							listeners[i_17].down(_this.currTouch.x, _this.currTouch.y);
+					if (!_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							var rect = element.getBoundingClientRect();
+							var x = touch.clientX - rect.left;
+							var y = touch.clientY - rect.top;
+							_this.currTouch = _this.touchesPool.obtain();
+							_this.currTouch.identifier = touch.identifier;
+							_this.currTouch.x = x;
+							_this.currTouch.y = y;
+							break;
+						}
+						var listeners = _this.listeners;
+						for (var i_17 = 0; i_17 < listeners.length; i_17++) {
+							if (listeners[i_17].down)
+								listeners[i_17].down(_this.currTouch.x, _this.currTouch.y);
+						}
+						_this.lastX = _this.currTouch.x;
+						_this.lastY = _this.currTouch.y;
+						_this.buttonDown = true;
 					}
-					_this.lastX = _this.currTouch.x;
-					_this.lastY = _this.currTouch.y;
-					_this.buttonDown = true;
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchend", function (ev) {
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = _this.currTouch.x = touch.clientX - rect.left;
-							var y = _this.currTouch.y = touch.clientY - rect.top;
-							_this.touchesPool.free(_this.currTouch);
-							var listeners = _this.listeners;
-							for (var i_18 = 0; i_18 < listeners.length; i_18++) {
-								if (listeners[i_18].up)
-									listeners[i_18].up(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = _this.currTouch.x = touch.clientX - rect.left;
+								var y = _this.currTouch.y = touch.clientY - rect.top;
+								_this.touchesPool.free(_this.currTouch);
+								var listeners = _this.listeners;
+								for (var i_18 = 0; i_18 < listeners.length; i_18++) {
+									if (listeners[i_18].up)
+										listeners[i_18].up(x, y);
+								}
+								_this.lastX = x;
+								_this.lastY = y;
+								_this.buttonDown = false;
+								_this.currTouch = null;
+								break;
 							}
-							_this.lastX = x;
-							_this.lastY = y;
-							_this.buttonDown = false;
-							_this.currTouch = null;
-							break;
 						}
 					}
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchcancel", function (ev) {
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = _this.currTouch.x = touch.clientX - rect.left;
-							var y = _this.currTouch.y = touch.clientY - rect.top;
-							_this.touchesPool.free(_this.currTouch);
-							var listeners = _this.listeners;
-							for (var i_19 = 0; i_19 < listeners.length; i_19++) {
-								if (listeners[i_19].up)
-									listeners[i_19].up(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = _this.currTouch.x = touch.clientX - rect.left;
+								var y = _this.currTouch.y = touch.clientY - rect.top;
+								_this.touchesPool.free(_this.currTouch);
+								var listeners = _this.listeners;
+								for (var i_19 = 0; i_19 < listeners.length; i_19++) {
+									if (listeners[i_19].up)
+										listeners[i_19].up(x, y);
+								}
+								_this.lastX = x;
+								_this.lastY = y;
+								_this.buttonDown = false;
+								_this.currTouch = null;
+								break;
 							}
-							_this.lastX = x;
-							_this.lastY = y;
-							_this.buttonDown = false;
-							_this.currTouch = null;
-							break;
 						}
 					}
 					ev.preventDefault();
 				}, false);
 				element.addEventListener("touchmove", function (ev) {
-					if (!_this.currTouch)
-						return;
-					var touches = ev.changedTouches;
-					for (var i = 0; i < touches.length; i++) {
-						var touch = touches[i];
-						if (_this.currTouch.identifier === touch.identifier) {
-							var rect = element.getBoundingClientRect();
-							var x = touch.clientX - rect.left;
-							var y = touch.clientY - rect.top;
-							var listeners = _this.listeners;
-							for (var i_20 = 0; i_20 < listeners.length; i_20++) {
-								if (listeners[i_20].dragged)
-									listeners[i_20].dragged(x, y);
+					if (_this.currTouch) {
+						var touches = ev.changedTouches;
+						for (var i = 0; i < touches.length; i++) {
+							var touch = touches[i];
+							if (_this.currTouch.identifier === touch.identifier) {
+								var rect = element.getBoundingClientRect();
+								var x = touch.clientX - rect.left;
+								var y = touch.clientY - rect.top;
+								var listeners = _this.listeners;
+								for (var i_20 = 0; i_20 < listeners.length; i_20++) {
+									if (listeners[i_20].dragged)
+										listeners[i_20].dragged(x, y);
+								}
+								_this.lastX = _this.currTouch.x = x;
+								_this.lastY = _this.currTouch.y = y;
+								break;
 							}
-							_this.lastX = _this.currTouch.x = x;
-							_this.lastY = _this.currTouch.y = y;
-							break;
 						}
 					}
 					ev.preventDefault();

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
spine-ts/build/spine-webgl.js.map


+ 79 - 78
spine-ts/webgl/src/Input.ts

@@ -34,11 +34,12 @@ module spine.webgl {
 		lastY = 0;
 		buttonDown = false;
 		currTouch: Touch = null;
+		private listeners = new Array<InputListener>();
+
 		touchesPool = new Pool<spine.webgl.Touch>(() => {
 			return new spine.webgl.Touch(0, 0, 0);
 		});
 
-		private listeners = new Array<InputListener>();
 		constructor (element: HTMLElement) {
 			this.element = element;
 			this.setupCallbacks(element);
@@ -52,9 +53,8 @@ module spine.webgl {
 					let y = ev.clientY - rect.top;
 
 					let listeners = this.listeners;
-					for (let i = 0; i < listeners.length; i++) {
+					for (let i = 0; i < listeners.length; i++)
 						if (listeners[i].down) listeners[i].down(x, y);
-					}
 
 					this.lastX = x;
 					this.lastY = y;
@@ -92,9 +92,8 @@ module spine.webgl {
 					let y = ev.clientY - rect.top;
 
 					let listeners = this.listeners;
-					for (let i = 0; i < listeners.length; i++) {
+					for (let i = 0; i < listeners.length; i++)
 						if (listeners[i].up) listeners[i].up(x, y);
-					}
 
 					this.lastX = x;
 					this.lastY = y;
@@ -104,102 +103,104 @@ module spine.webgl {
 				}
 			}
 
-
-
 			element.addEventListener("mousedown", mouseDown, true);
 			element.addEventListener("mousemove", mouseMove, true);
 			element.addEventListener("mouseup", mouseUp, true);
 			element.addEventListener("touchstart", (ev: TouchEvent) => {
-				if (this.currTouch) return;
+				if (!this.currTouch) {
+					var touches = ev.changedTouches;
+					for (var i = 0; i < touches.length; i++) {
+						var touch = touches[i];
+						let rect = element.getBoundingClientRect();
+						let x = touch.clientX - rect.left;
+						let y = touch.clientY - rect.top;
+						this.currTouch = this.touchesPool.obtain();
+						this.currTouch.identifier = touch.identifier;
+						this.currTouch.x = x;
+						this.currTouch.y = y;
+						break;
+					}
 
-				var touches = ev.changedTouches;
-				for (var i = 0; i < touches.length; i++) {
-					var touch = touches[i];
-					let rect = element.getBoundingClientRect();
-					let x = touch.clientX - rect.left;
-					let y = touch.clientY - rect.top;
-					this.currTouch = this.touchesPool.obtain();
-					this.currTouch.identifier = touch.identifier;
-					this.currTouch.x = x;
-					this.currTouch.y = y;
-					break;
-				}
+					let listeners = this.listeners;
+					for (let i = 0; i < listeners.length; i++) {
+						if (listeners[i].down) listeners[i].down(this.currTouch.x, this.currTouch.y);
+					}
 
-				let listeners = this.listeners;
-				for (let i = 0; i < listeners.length; i++) {
-					if (listeners[i].down) listeners[i].down(this.currTouch.x, this.currTouch.y);
+					this.lastX = this.currTouch.x;
+					this.lastY = this.currTouch.y;
+					this.buttonDown = true;
 				}
-
-				this.lastX = this.currTouch.x;
-				this.lastY = this.currTouch.y;
-				this.buttonDown = true;
 				ev.preventDefault();
 			}, false);
 			element.addEventListener("touchend", (ev: TouchEvent) => {
-				var touches = ev.changedTouches;
-				for (var i = 0; i < touches.length; i++) {
-					var touch = touches[i];
-					if (this.currTouch.identifier === touch.identifier) {
-						let rect = element.getBoundingClientRect();
-						let x = this.currTouch.x = touch.clientX - rect.left;
-						let y = this.currTouch.y = touch.clientY - rect.top;
-						this.touchesPool.free(this.currTouch);
-						let listeners = this.listeners;
-						for (let i = 0; i < listeners.length; i++) {
-							if (listeners[i].up) listeners[i].up(x, y);
+				if (this.currTouch) {
+					var touches = ev.changedTouches;
+					for (var i = 0; i < touches.length; i++) {
+						var touch = touches[i];
+						if (this.currTouch.identifier === touch.identifier) {
+							let rect = element.getBoundingClientRect();
+							let x = this.currTouch.x = touch.clientX - rect.left;
+							let y = this.currTouch.y = touch.clientY - rect.top;
+							this.touchesPool.free(this.currTouch);
+							let listeners = this.listeners;
+							for (let i = 0; i < listeners.length; i++) {
+								if (listeners[i].up) listeners[i].up(x, y);
+							}
+
+							this.lastX = x;
+							this.lastY = y;
+							this.buttonDown = false;
+							this.currTouch = null;
+							break;
 						}
-
-						this.lastX = x;
-						this.lastY = y;
-						this.buttonDown = false;
-						this.currTouch = null;
-						break;
 					}
 				}
 				ev.preventDefault();
 			}, false);
 			element.addEventListener("touchcancel", (ev: TouchEvent) => {
-				var touches = ev.changedTouches;
-				for (var i = 0; i < touches.length; i++) {
-					var touch = touches[i];
-					if (this.currTouch.identifier === touch.identifier) {
-						let rect = element.getBoundingClientRect();
-						let x = this.currTouch.x = touch.clientX - rect.left;
-						let y = this.currTouch.y = touch.clientY - rect.top;
-						this.touchesPool.free(this.currTouch);
-						let listeners = this.listeners;
-						for (let i = 0; i < listeners.length; i++) {
-							if (listeners[i].up) listeners[i].up(x, y);
+				if (this.currTouch) {
+					var touches = ev.changedTouches;
+					for (var i = 0; i < touches.length; i++) {
+						var touch = touches[i];
+						if (this.currTouch.identifier === touch.identifier) {
+							let rect = element.getBoundingClientRect();
+							let x = this.currTouch.x = touch.clientX - rect.left;
+							let y = this.currTouch.y = touch.clientY - rect.top;
+							this.touchesPool.free(this.currTouch);
+							let listeners = this.listeners;
+							for (let i = 0; i < listeners.length; i++) {
+								if (listeners[i].up) listeners[i].up(x, y);
+							}
+
+							this.lastX = x;
+							this.lastY = y;
+							this.buttonDown = false;
+							this.currTouch = null;
+							break;
 						}
-
-						this.lastX = x;
-						this.lastY = y;
-						this.buttonDown = false;
-						this.currTouch = null;
-						break;
 					}
 				}
 				ev.preventDefault();
 			}, false);
 			element.addEventListener("touchmove", (ev: TouchEvent) => {
-				if (!this.currTouch) return;
-
-				var touches = ev.changedTouches;
-				for (var i = 0; i < touches.length; i++) {
-					var touch = touches[i];
-					if (this.currTouch.identifier === touch.identifier) {
-						let rect = element.getBoundingClientRect();
-						let x = touch.clientX - rect.left;
-						let y = touch.clientY - rect.top;
-
-						let listeners = this.listeners;
-						for (let i = 0; i < listeners.length; i++) {
-							if (listeners[i].dragged) listeners[i].dragged(x, y);
+				if (this.currTouch) {
+					var touches = ev.changedTouches;
+					for (var i = 0; i < touches.length; i++) {
+						var touch = touches[i];
+						if (this.currTouch.identifier === touch.identifier) {
+							let rect = element.getBoundingClientRect();
+							let x = touch.clientX - rect.left;
+							let y = touch.clientY - rect.top;
+
+							let listeners = this.listeners;
+							for (let i = 0; i < listeners.length; i++) {
+								if (listeners[i].dragged) listeners[i].dragged(x, y);
+							}
+
+							this.lastX = this.currTouch.x = x;
+							this.lastY = this.currTouch.y = y;
+							break;
 						}
-
-						this.lastX = this.currTouch.x = x;
-						this.lastY = this.currTouch.y = y;
-						break;
 					}
 				}
 				ev.preventDefault();

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно