首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在javascript中添加触摸事件(屏幕上的右、左、下)?

如何在javascript中添加触摸事件(屏幕上的右、左、下)?
EN

Stack Overflow用户
提问于 2018-07-12 03:52:19
回答 1查看 595关注 0票数 0

我正在学习js并制作一个俄罗斯方块游戏。我已经让它在PC的部署,但我想添加一些触摸事件的游戏工作在移动部署。但是我被困在这个问题上了:

代码语言:javascript
复制
function touchEnd(e) {
        if (Math.abs(offset[0]) > Math.abs(offset[1])) {
            playerMove(-1);
        }
        else if (Math.abs(offset[0]) < Math.abs(offset[1])) {
            playerDrop();
        }
}

(我在上面的代码中遇到了问题)

我的想法是,当玩家在屏幕(画布)的左边触摸(而不是拖动)时,playerMove(-1)起作用,当你在右边触摸时,playerMove(1);起作用,当你触摸屏幕底部时,playerDrop()起作用。我该怎么做呢?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-12 04:08:46

这是一个关于如何拆分HTMLElement并基于其发送操作的示例

代码语言:javascript
复制
let box; 

document.addEventListener('DOMContentLoaded', ()=>{
  box = document.querySelector('#test');
  box.addEventListener('click', chooseSide);
});

function chooseSide(e){
  const {clientX, clientY} = e;
  const {clientHeight, clientWidth} = box
  if(clientY > (clientHeight/ 2)){
    console.log('bottom')
  }else if(clientX < (clientWidth/ 2)){
    console.log('left')
  } else{
    console.log('right')
  }
}
代码语言:javascript
复制
#test {
  box-sizing: border-box;
  width: 100vmin;
  height: 100vmin;
  border: 10px solid #f00;
}
代码语言:javascript
复制
<canvas id="test"></canvas>

您可以更改Y比较的值,并为"bottom“提供或多或少的空间

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51293295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档