Javascript 鼠标向下移动时的X和y坐标

Javascript 鼠标向下移动时的X和y坐标,javascript,canvas,mousemove,mousedown,Javascript,Canvas,Mousemove,Mousedown,我目前正在制作一个游戏,要求玩家在触摸屏设备上拖动物体 我使用过事件监听器mousemove,它在我的英特尔XDK仿真器上工作过,但现在我将其移动到触摸屏设备上,我需要一个触摸事件,即mousemove和mousedown,我不确定如何操作 理想代码示例: canvas.addEventListener("mousemove" && "mousedown", function(e){ pointerX = e.pageX; pointerY = e.pageY

我目前正在制作一个游戏,要求玩家在触摸屏设备上拖动物体

我使用过事件监听器
mousemove
,它在我的英特尔XDK仿真器上工作过,但现在我将其移动到触摸屏设备上,我需要一个触摸事件,即
mousemove
mousedown
,我不确定如何操作

理想代码示例:

canvas.addEventListener("mousemove" && "mousedown", function(e){  
    pointerX = e.pageX;
    pointerY = e.pageY;
}
所以这个理想的代码在鼠标按下并移动时会弹出x和y

如果有人知道合法的语法或其他方法,这将是一个很大的帮助

我不想将JQuery合并到这个中,只想合并到纯JS中

谢谢!:)


Edit:让我重新表述一下,这样就可以直截了当了。当用户拖动一个对象时,我需要一个函数,可以在整个拖动过程中吐出指针的x和y。

对于触摸设备,您应该查看
touchstart
touchend
touchcancel
touchmove

触摸事件与鼠标事件类似,不同之处在于它们支持同时触摸,并且位于触摸表面的不同位置


`

对于触摸设备,您应该查看
touchstart
touchend
touchcancel
touchmove

触摸事件与鼠标事件类似,不同之处在于它们支持同时触摸,并且位于触摸表面的不同位置

`

有一篇关于触摸事件的精彩文章。这些帖子不仅充满了高质量的信息,而且还显示了大量javascript代码,为触摸事件提供了良好的资源

接口

表示曲面上的接触状态更改时发生的事件

表示用户与触摸表面之间的单点接触

代表一组接触;例如,当用户在曲面上同时有多个手指时,使用此选项


这如何解决我目前的问题? 上面的信息提供了您可能想要查看的所有类型事件的更详细信息。但是,对于您的特定问题,您应该查看&事件

旁注-检查和链接以了解兼容性问题。

有一篇关于触摸事件的精彩文章。这些帖子不仅充满了高质量的信息,而且还显示了大量javascript代码,为触摸事件提供了良好的资源

接口

表示曲面上的接触状态更改时发生的事件

表示用户与触摸表面之间的单点接触

代表一组接触;例如,当用户在曲面上同时有多个手指时,使用此选项


这如何解决我目前的问题? 上面的信息提供了您可能想要查看的所有类型事件的更详细信息。但是,对于您的特定问题,您应该查看&事件

旁注-检查和链接以了解兼容性问题。

每个MDN:

addEventTarget.addEventListener()方法在调用它的EventTarget上注册指定的侦听器。事件目标可以是文档中的元素、文档本身、窗口或支持事件的任何其他对象(如XMLHttpRequest)

注意上面的“eventTarget”。AddEventListener方法只接受一个表示EventType的字符串。您需要编写一个自定义函数来迭代多个事件:

const target=document.getElementById(“myDiv”);
['mousedown','mousemove'].forEach(eventType=>{
target.addEventListener(事件类型,(事件)=>{
target.innerText=`x:${event.pageX}y:${event.pageY}`;
});
});
#myDiv{
宽度:100px;
高度:100px;
背景颜色:橙色;
颜色:白色;
}
每个MDN的

addEventTarget.addEventListener()方法在调用它的EventTarget上注册指定的侦听器。事件目标可以是文档中的元素、文档本身、窗口或支持事件的任何其他对象(如XMLHttpRequest)

注意上面的“eventTarget”。AddEventListener方法只接受一个表示EventType的字符串。您需要编写一个自定义函数来迭代多个事件:

const target=document.getElementById(“myDiv”);
['mousedown','mousemove'].forEach(eventType=>{
target.addEventListener(事件类型,(事件)=>{
target.innerText=`x:${event.pageX}y:${event.pageY}`;
});
});
#myDiv{
宽度:100px;
高度:100px;
背景颜色:橙色;
颜色:白色;
}

“我需要一个名为mousemove和mousedown的事件监听器,我不知道该怎么做。”我想你指的是触摸事件?@OusmaneMahyDiaw是的,这就是我的意思,对不起。“我需要一个名为mousemove和mousedown的事件监听器,我不知道该怎么做。”我想你指的是触摸事件?@OusmaneMahyDiaw是的,这就是我的意思,对不起。那么我如何使用这个来同时进行触摸呢?当玩家拖动这个物体的时候,我只需要x和y。哦。。。我在一个移动设备上试过了,但没用。我使用的是Intel XDK build,它可以在模拟器上运行,但不能在手机上运行…@AssafiCohen Arazi有趣的是,它可以在你的模拟器上运行,但不能在手机上运行。现在这是另一个问题,但我会循环,它只是冻结,物体不会移动。我觉得这是因为电脑将拖动视为拖动,而手机将其视为尚未完成的轻触。那么我如何使用它来同时运行触摸?当玩家拖动这个物体时,我只需要x和y