如何使用 Easeljs 处理 iPhone 上的快速点击?
Posted
技术标签:
【中文标题】如何使用 Easeljs 处理 iPhone 上的快速点击?【英文标题】:How to handle fast clicks on iPhone with Easeljs? 【发布时间】:2015-11-07 16:58:30 【问题描述】:我用 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" ></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) ...
提前致谢!
【问题讨论】:
【参考方案1】:我加了
createjs.Touch.enable(stage);
并修复它。
【讨论】:
【参考方案2】:点击事件在 ios 上不起作用,您必须使用 touchstart、touchmove 和 touchend 事件来判断用户是否点击了屏幕。
【讨论】:
这个答案是正确的,但是使用 EaselJS,使用 EaselJS Touch 类内置了对触摸事件的支持(它支持 iOS 风格的“touchstart”事件,以及 MS“pointerdown”式事件)以上是关于如何使用 Easeljs 处理 iPhone 上的快速点击?的主要内容,如果未能解决你的问题,请参考以下文章