В то время как первый пример устанавливает DX
и DY
относительно вашего текущего местоположения метки, во втором примере игнорируется текущее местоположение текущего местоположения вашей метки.
Например, если ваша текущая меткаместоположение (50,50), и вы хотите переместить его на (30,30).если вы нажимаете мышь, когда указываете на (70,70) (при условии, что оно находится в пределах границ метки):
В вашем первом примере DX будет установлен на -20, а DY будет установлен на -20.Теперь после перетаскивания новое местоположение будет (как mouseDragged
реализует) ((70 + 30) -20, (70 + 30) -20) = (80, 80), что является правильным.
Во втором примере DX будет установлен на -70, а также DY.Теперь после перетаскивания новое местоположение будет (100-70, 100-70) = (30,30), что неверно.