Mousedown на холсте - PullRequest
       8

Mousedown на холсте

0 голосов
/ 10 ноября 2018
    //Also where I used mouse interaction for this assignment.
    canvas.addEventListener('mousemove',function(event){

        if(mouseClicked == false)
        {
            if((event.y-canvasBox.top)>=(4*cH/5))
            {
                canIClick=true;
                start=new Date();
                mouse.x = event.x-canvasBox.left;
                circle1.x = mouse.x;
                mouse.y = event.y-canvasBox.top;
                circle1.y = mouse.y;
                circle1.render();

            }
            else{
                canIClick=false;
            }
        }
    })


    canvas.addEventListener("mouseup",function(event){
        if(mouseClicked == false&&canIClick==true)
        {
            if((event.y-canvasBox.top)>=(4*cH/5))
            {
                mouseClicked = true;
                mouse.x = event.x-canvasBox.left;
                circle1.x = mouse.x;
                mouse.y = event.y-canvasBox.top;
                circle1.y = mouse.y;
                circle1.render();
                circle2.x = circle1.x;
                circle2.y = circle1.y;
                end = new Date();
                timeDifference = end - start;
                pokeBalls.push(circle2);
                if (timeDifference >= timeLimit) {
                    pokeBalls[pokeBalls.length-1].dY=-20;
                    timeDifference=100;
                    power.value=timeDifference;
                }
                else
                {
                    pokeBalls[pokeBalls.length-1].dY=-10-(timeDifference/(timeLimit/10));
                    timeDifference=timeDifference/((timeLimit/1000)*10);
                    power.value=timeDifference;
                }
                //circle2.update();
                //alert(event.x+""+event.y);
            }

        }
    })

Я хочу переключить этот код для mouseDown, который срабатывает каждые определенное количество секунд в пределах границы ((event.y-canvasBox.top)> = (4 * cH / 5)). (Используя setInterval) не должен позволять пользователю больше нажимать, пока не будет закончено нажатие мыши. Проблема в том, что он не получает нового времени запуска, если я быстро нажму на то же место. Так как MouseMove не срабатывает и не обновляется.

...