当我放大太多并用鼠标拖动图片时,它移动得太快。同样,如果我缩小得太多,图片拖动速度会非常缓慢。

这就是它的缩放方式(缩放)以及图片的拖动方式(xPos,yPos)

fPosition.x = fPosition.x * scale + xPos;
fPosition.y = fPosition.y * scale + yPos;


我应该怎么做才能解决这个问题?

最佳答案

您需要通过反比例调整运动。当以1到1的比例无缩放时,拖动的每个像素将图像移动1像素。

当您以2到1放大时,一个像素现在是2像素宽(比例为2),您仍然希望以相同的屏幕速度拖动图像,因此拖动的每个像素都将其移动1/scale像素。 1/2 = 0.5每移动一个鼠标/指针/触摸对象一个像素。

当缩小到0.5到1时,比例现在是0.5,图像是其大小的一半,您需要为拖动的每个像素将其移动1/scale像素。 1/0.5 = 2

因此,比例是一个像素的大小,而运动是该比例的倒数。 1个分度标度

09-07 22:54