学习算法

N / A 2002-07-28 10:32:22
鼠标是否指向屏幕上的一个点可以用两点间距离公式来判断。那么判断鼠标是否指向屏幕上的一个点集岂不是要判断多次?诺屏幕上有许多点集,要判断鼠标到底指向哪个点集岂不是要计算和判断成千上万次?
象一些“即时战略”游戏比如“星际争霸”,屏幕上总是有几百个单位(对象),程序是如何立刻判断出玩家正在用鼠标对屏幕上哪个单位发号施令的?
我也想过一些算法,都太慢。我不知道一般大家都是怎么做的。敬请大家指点。
我只需要一些算法的提示就可以了。
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ColdWolf 2002-09-02
  • 打赏
  • 举报
回复
不好意思,我没有做过,但是考虑过这个问题。我的想法是通过一定的数据结构分别来描述单位的x和y值。那么知道任何一个点,就可以从这个数据结构中获得一定范围的所有的单位的索引值(比如说某个单位旁边有没有在视野内的其他单位,也可以判断搂住所需要的效果了)
这只是一个设想,但是看到vnix() 的方法,实现起来好想更简单实用了。
vnix 2002-09-01
  • 打赏
  • 举报
回复
据说,2d即时战略里通常是这样做的,每个单位中保存着各自所在的图块号,当鼠标点击时根据坐标计算出所在图块(点击坐标位于图块4个顶点之间的图块),然后搜索在此图块中的单位。两点间的距离只能用公式,不过除非要得到具体的距离,否则可以直接用平方的形式计算,要开方也可用查表法,这比用函数快。
我也是刚明白,所以才回复,谅。
lyk42 2002-09-01
  • 打赏
  • 举报
回复
不好意思 没有用过。
winco 2002-07-28
  • 打赏
  • 举报
回复
up
seanzh 2002-07-28
  • 打赏
  • 举报
回复
你看能不能做出来那个区域的region,然后加以判断

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧