我正在尝试使用mousedown来检测您何时按住某个项目。 对于上下文,我在一个数组中有2个sprite,可以在其边界框中检测到单击,并且该单击已正确传递到mousedownHandler中。
spArray [1]是我要拖动的画布精灵。 clickedBoundingBox正常工作。
function canvasMouseDownHandler(ev,ctx,spArray){
if (spArray[1].clickedBoundingBox(ev)){
console.log("Mousedown successful");
var mx = ev.offsetX;
var my = ev.offsetY;
spArray[1].x = Math.round(mx-spArray[1].width/2);
spArray[1].y = Math.round(my-spArray[1].height/2);
}
当前发生的事情是它会立即捕捉到鼠标位置,并且没有保持拖动。通过控制台日志,我希望看到重复记录的“ mousedown成功”
我当时正在考虑使用setInterval函数将子画面捕捉到鼠标位置,但是随后我遇到了在mouseup上清除间隔的问题。我对事件还很陌生,我正努力理解这一点。
非常感谢您的帮助。
答案 0 :(得分:0)
如果我正确理解了您的期望,MouseDownHandler
会在鼠标移动时被触发,那么我不知道有哪种语言会起到这种作用……
有了这些信息,您就可以开始工作。
拖动是MouseDown和MouseUp之间发生的每一步