Перетащите ограничительную рамку компенсирована математика
Я создаю свое собственное перетаскивание с помощью холста. Чтобы выбрать мяч, я создал вокруг него невидимую ограничительную рамку. Щелчок в этой области позволит вам перетащить мяч.
На ходу мыши, я использую
xBall = xMouse;
yBall = yMouse;
Так мяч будет следовать за мышью. Это здорово, за исключением самого начала перетаскивания, центр мяча прыгнет туда, где мышь не нужна. Поэтому мне нужно учитывать смещение между Mouse и Ball.
Может ли кто-нибудь объяснить математику позади этого? Из моих рассуждений мне нужно добавить смещение к позиции мыши. Поэтому я получаю xBall = xMouse + (xBall - xMouse)
, но, как вы можете видеть, это просто заканчивается тем, что дает мне xBall = xBall
, который бесполезен.
Куда я иду не так?
Я высоко ценю ваш закодировав для этого задача, но нет необходимости изобретать велосипед, попробуйте использовать Kinetic.js, вы наверняка похвалите, насколько эффективно кинетическая будет dle такие задачи –