如何使用 Easeljs 处理 iPhone 上的快速点击?
How to handle fast clicks on iPhone with Easeljs?
我用Easeljs做了一个简单的游戏。基本上它是一个点击游戏,用户必须连续快速地点击一个按钮。
它在 Android 和任何 PC 浏览器上都能完美运行。但是,当我在 iPhone 上对其进行测试时,我发现当用户快速单击时,永远不会触发 onclick 事件。当用户缓慢点击时它工作正常。
我怀疑和safari的双击手势有关。我试过 fastclick,没用。
这是Html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,user-scalable=no">
<script src="createjs-2015.05.21.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body onload="init();">
<div class="main">
<canvas id="testCanvas" height="1000" width="1000"></canvas>
</div>
<script src="app.js"></script>
</body>
</html>
这是我添加按钮的方式:
var button = new createjs.Bitmap(loader.getResult("button"));
var hitArea = new createjs.Shape;
hitArea.graphics.beginFill("#000").drawRect(0, 0, 500, 500);
button.hitArea = hitArea;
button.addEventListener("click", buttonOnClick);
stage.addChild(button);
function buttonOnClick(event) {...}
提前致谢!
点击事件在 iOS 上不起作用,如果用户点击屏幕,您必须使用 touchstart、touchmove 和 touchend 事件来解决。
我加了
createjs.Touch.enable(stage);
并修复了它。
我用Easeljs做了一个简单的游戏。基本上它是一个点击游戏,用户必须连续快速地点击一个按钮。
它在 Android 和任何 PC 浏览器上都能完美运行。但是,当我在 iPhone 上对其进行测试时,我发现当用户快速单击时,永远不会触发 onclick 事件。当用户缓慢点击时它工作正常。
我怀疑和safari的双击手势有关。我试过 fastclick,没用。
这是Html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,user-scalable=no">
<script src="createjs-2015.05.21.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body onload="init();">
<div class="main">
<canvas id="testCanvas" height="1000" width="1000"></canvas>
</div>
<script src="app.js"></script>
</body>
</html>
这是我添加按钮的方式:
var button = new createjs.Bitmap(loader.getResult("button"));
var hitArea = new createjs.Shape;
hitArea.graphics.beginFill("#000").drawRect(0, 0, 500, 500);
button.hitArea = hitArea;
button.addEventListener("click", buttonOnClick);
stage.addChild(button);
function buttonOnClick(event) {...}
提前致谢!
点击事件在 iOS 上不起作用,如果用户点击屏幕,您必须使用 touchstart、touchmove 和 touchend 事件来解决。
我加了
createjs.Touch.enable(stage);
并修复了它。