2012-12-22 69 views
0

我正在通过C#表单创建一个类似FPS的游戏。 这是我正在写的第一个游戏,所以放轻松吧:p 无论如何,主要的想法是程序会识别用户的光标何时悬停在角色上。 现在让我们说人物的坐标是(X,Y),我想检查光标是否在..的范围内.. 要检查这个,我可以使用这两个条件来处理循环,但我相信有一个更好的方法来检查它,我只是不知道它。 如果你误解我的意图,请在这里发帖,我会尽力澄清它。谢谢检查鼠标悬停点的某个半径

+0

这是的WinForms?WPF? – Blachshma

回答

3

你不需要for循环。
假设鼠标坐标是(m_x,m_y),而char坐标是(x,y)。
如果距离小于10,则计算距离为sqrt((m_x-x)*(m_x-x)+(m_y-y)*(m_y-y)),则鼠标在范围内。

对于使用的sqrt更好的运行时间,从而避免,即

如果(((m_x-X)*(m_x-X)+(m_y-γ)*(m_y-Y)< 100)
//范围内 其他
//范围之外

+0

谢谢,没有想到的是一个的^^ –