mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 07:14:55 +08:00
[ts] Fixed multi touch runtime error.
Repro: touch down 1, touch down 2 (using second finger), touch up 1, touch up 2 -> error.
This commit is contained in:
parent
f77a51d33a
commit
b3c405e9ca
2
spine-ts/build/spine-all.d.ts
vendored
2
spine-ts/build/spine-all.d.ts
vendored
@ -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;
|
||||
|
||||
@ -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;
|
||||
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;
|
||||
}
|
||||
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;
|
||||
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();
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
spine-ts/build/spine-player.d.ts
vendored
2
spine-ts/build/spine-player.d.ts
vendored
@ -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;
|
||||
|
||||
@ -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;
|
||||
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;
|
||||
}
|
||||
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;
|
||||
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();
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
spine-ts/build/spine-webgl.d.ts
vendored
2
spine-ts/build/spine-webgl.d.ts
vendored
@ -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;
|
||||
|
||||
@ -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;
|
||||
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;
|
||||
}
|
||||
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;
|
||||
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();
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -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);
|
||||
}
|
||||
|
||||
this.lastX = this.currTouch.x;
|
||||
this.lastY = this.currTouch.y;
|
||||
this.buttonDown = true;
|
||||
}
|
||||
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user