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