使用touchstart事件无法识别碰撞
collision isn't recognized using touchstart event
我正在使用《Foundation HTML5 Animation with JavaScript》一书中的例子创造一款触屏游戏。书中的一个例子展示了基本的触摸功能,但不是完全有效。下面是指向示例的链接http://jsfiddle.net/yrXCN/3/
根据下面的函数,如果你在球内触摸画布,它应该记录消息"in ball: touchstart",但我还没有使它工作。当你进入球时,它会识别出球,但由于某种原因,它不能识别第一次触球。
如果我更改代码以使用鼠标侦听器,它会按预期工作。
canvas.addEventListener('touchstart', function (event) {
event.preventDefault();
if (utils.containsPoint(ball.getBounds(), touch.x, touch.y)) {
log.value = "in ball: touchstart";
} else {
log.value = "canvas: touchstart";
}
}, false);
element.addEventListener('touchstart', function (event) {
touch.isPressed = true;
touch.event = event;
}, false);
如果"touchstart"在你的球上被触发,touch.x
和touch.y
是未定义的,所以你不能识别球上的触摸。你在touchmove事件中跟踪touch.x
和touch.y
,这就是为什么你在移动时识别出触摸是在球上。
touch.x
和touch.y
来解决这个问题
相关文章:
- 如何识别我的网站中的慢速设备
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- AngularJS指令只识别双向绑定类型
- php脚本中无法识别ajax传递的值
- 识别没有ID或特定属性的对象
- JavaScript无法识别图像
- 识别由不同数量的项组成的json对象
- 无法识别从php创建的Js函数
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- IE7-FIX下的总碰撞
- 函数无法识别初始化的变量
- 具有带大括号的字符串时无法识别的表达式
- 在Fiddler JavaScript中识别POST请求
- 逐像素碰撞检测弹球
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]
- javascript正则表达式来识别所有特殊字符
- 确定(识别)dc.js图表类型
- Ionic应用程序无法识别android手机中的语音
- node.js可以识别字符模式,但不能识别数字模式
- 使用touchstart事件无法识别碰撞