Сообщение от RBK
А код я так, для красоты написал.
|
если ты такой умный то что сам неразберешся?
А если по делу то как ты считаешь, вычисление скоростей мышки по X и Y происходит в тоже самое время как ты желаешь узнать координаты мышки, или всёже немного раньше?
Правильным будет по зажатию мышки выставлять флаг указывающий что начан процес Drag&Drop запоминать начальное положение картинки и курсора.
Далее рисовать курсор по координатам, а картинку по координатам расчитываемым по формуле:
new_image_x = last_image_x + (current_cursor_x - last_cursor_x)
и аналогично для y.
По отпускании мыши мы можем провреить допустимость такого перемещения и если надо отменить его (просто востановив положение картинки по предварително сохраненым координатам), или скорректировать и утвердить полученные координаты по выше приведенной формуле в качестве текущих.
Касаемо твоего кода, можно попробывать тупо вычислять новое положение картинки после рисования курсора по координатам. Хотя асинхронность изменения координат мыши непозволит достигнуть требуемой синхронизации без фиксации координат в переменных и вычисления скоростей перемещения на их основе).