鼠标位置相对于圆的对象控制

时间:2013-08-21 19:00:47

标签: javascript user-interface geometry game-physics joystick

需要一些灵感。我有一张照片(蓝色),并希望它在不可见区域(橙色)内与鼠标位置成比例移动。因此,如果鼠标在左上方向移动,则图像应遵循移动。

我不想简单地复制鼠标位置,而是创建类似行为的操纵杆,因此如果鼠标移动,图像应按所需方向逐步移动。

但是怎么样?我不知道如何为图像设置正确的x + y坐标或如何建立公式来计算它们。

Movement

1 个答案:

答案 0 :(得分:1)

增量(矢量)位置。考虑:

  • 让我们将不可见圆圈的死点称为矢量参考点(0,0)或VRP。
  • 您将鼠标移离VRP。让我们使用您的图像作为参考,并说您的鼠标相对于VRP处于(-3x-2y)。你把它留在那里;它创建一个-3 X向量和一个-2 Y向量。

  • 只要你将鼠标放在那里,那些矢量将在每个周期应用于方块的当前坐标,如下所示:

    • 假设图片启动器位置是绝对100,100。
    • 周期1:[x]:100 -3 = 97; [Y]:100 -2 = 97.新图片位置= 97x98y
    • 周期2:[x]:97 -3 = 94; [Y]:98 -2 = 96.新图片位置= 94x96y

等等。如果要停止移动,只需将光标移回VRP。

您可以熟练创建加速中间向量的机制,或者围绕向量参考点的死区。