提交 7f187251 编写于 作者: M Marcin Gajda

Windows Phone touch events

上级 d7ef12e4
function KeyboardInputManager() { function KeyboardInputManager() {
this.events = {}; this.events = {};
if (window.navigator.msPointerEnabled) {
//Internet Explorer 10 style
this.eventTouchstart = "MSPointerDown";
this.eventTouchmove = "MSPointerMove";
this.eventTouchend = "MSPointerUp";
} else {
this.eventTouchstart = "touchstart";
this.eventTouchmove = "touchmove";
this.eventTouchend = "touchend";
}
this.listen(); this.listen();
} }
...@@ -55,31 +66,46 @@ KeyboardInputManager.prototype.listen = function () { ...@@ -55,31 +66,46 @@ KeyboardInputManager.prototype.listen = function () {
var retry = document.getElementsByClassName("retry-button")[0]; var retry = document.getElementsByClassName("retry-button")[0];
retry.addEventListener("click", this.restart.bind(this)); retry.addEventListener("click", this.restart.bind(this));
retry.addEventListener("touchend", this.restart.bind(this)); retry.addEventListener(this.eventTouchend, this.restart.bind(this));
// Listen to swipe events // Listen to swipe events
var touchStartClientX, touchStartClientY; var touchStartClientX, touchStartClientY;
var gameContainer = document.getElementsByClassName("game-container")[0]; var gameContainer = document.getElementsByClassName("game-container")[0];
gameContainer.addEventListener("touchstart", function (event) { gameContainer.addEventListener(this.eventTouchstart, function (event) {
if (event.touches.length > 1) return; if (( !window.navigator.msPointerEnabled && event.touches.length > 1) || event.targetTouches > 1) return;
touchStartClientX = event.touches[0].clientX; if(window.navigator.msPointerEnabled){
touchStartClientY = event.touches[0].clientY; touchStartClientX = event.pageX;
touchStartClientY = event.pageY;
} else {
touchStartClientX = event.touches[0].clientX;
touchStartClientY = event.touches[0].clientY;
}
event.preventDefault(); event.preventDefault();
}); });
gameContainer.addEventListener("touchmove", function (event) { gameContainer.addEventListener(this.eventTouchmove, function (event) {
event.preventDefault(); event.preventDefault();
}); });
gameContainer.addEventListener("touchend", function (event) { gameContainer.addEventListener(this.eventTouchend, function (event) {
if (event.touches.length > 0) return; if (( !window.navigator.msPointerEnabled && event.touches.length > 0) || event.targetTouches > 0) return;
var touchEndClientX, touchEndClientY;
if(window.navigator.msPointerEnabled){
touchEndClientX = event.pageX;
touchEndClientY = event.pageY;
} else {
touchEndClientX = event.changedTouches[0].clientX;
touchEndClientY = event.changedTouches[0].clientY;
}
var dx = event.changedTouches[0].clientX - touchStartClientX; var dx = touchEndClientX - touchStartClientX;
var absDx = Math.abs(dx); var absDx = Math.abs(dx);
var dy = event.changedTouches[0].clientY - touchStartClientY; var dy = touchEndClientY - touchStartClientY;
var absDy = Math.abs(dy); var absDy = Math.abs(dy);
if (Math.max(absDx, absDy) > 10) { if (Math.max(absDx, absDy) > 10) {
......
...@@ -153,6 +153,7 @@ hr { ...@@ -153,6 +153,7 @@ hr {
border-radius: 6px; border-radius: 6px;
width: 500px; width: 500px;
height: 500px; height: 500px;
-ms-touch-action: none;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; } box-sizing: border-box; }
......
...@@ -182,6 +182,7 @@ hr { ...@@ -182,6 +182,7 @@ hr {
border-radius: $tile-border-radius * 2; border-radius: $tile-border-radius * 2;
width: $field-width; width: $field-width;
height: $field-width; height: $field-width;
-ms-touch-action: none;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册