混淆了一个简单的公式,将玩家移动到鼠标位置

时间:2014-03-25 06:29:03

标签: c++ math

我在互联网上遇到一个简单的公式,根据计算字符X位置和鼠标X位置之间的距离并将其除以下面两个实体之间的距离来将玩家移动到鼠标位置

//the below statement moves the player to the left towards the mouse pointer

    if(player.position.x > Mouse_Position_X)
       player.setPosition(player.position.x  - ( ( player.position.x - Mouse_Position_X)/distance * 2.0f ));
    ...
    ..
    .
// similar statements for other three checks to move player to right, top and bottom
// distance value is found out by a getDistance function which calculates the distance between two entites(player and mouse pointer in this case)  

我想知道上面的公式与下面的简单公式相比有什么作用 这也将玩家向左移动。

if(player.position.x > Mouse_Position_X)
   player.setPosition(player.position.x  - 2.0f);

为什么我们会用鼠标位置减去玩家当前位置并将其除以距离?

非常感谢!

1 个答案:

答案 0 :(得分:0)

第一个公式还取决于未定义的某个变量distance。它似乎将玩家的位置稍微向鼠标坐标方向移动。