找回密码
 点一下
查看: 1118|回复: 10

怎么判断单位接近墙或装饰物?

[复制链接]
发表于 2009-12-28 22:21:55 | 显示全部楼层 |阅读模式
怎么判断单位接近墙或装饰物?能否判断单位与墙或物品滴距离?
有这种方法么?

还有一个就是怎么判断一条直线上有多少个单位,那个是距离你最近滴(就是第一个单位)··

请教··
发表于 2009-12-28 23:59:47 | 显示全部楼层
虽然可以判断单位与装饰物的距离,但是这种判断是不靠谱的。

因为其实距离的判断是点到点,而装饰物这种东西通常是大家伙,无法直接的近似为一个点。

因此还是乖乖地在装饰物周围摆放区域吧,然后判断单位进入区域。

另外根据装饰物的通行贴来对某点的可通行性进行判断以此判断单位接近某个装饰物也不是不可行,但是这做法非常缺乏通用性,因此还是摆区域吧。
回复

使用道具 举报

 楼主| 发表于 2009-12-31 23:48:07 | 显示全部楼层
额···谢了,还是老实放区域吧··

第二个问题,能解决么?请教···
回复

使用道具 举报

发表于 2010-1-1 00:49:36 | 显示全部楼层
第二个你可以选取一串圆形区域的单位加入单位组,然后用一个循环对比他们与固定单位的距离
回复

使用道具 举报

 楼主| 发表于 2010-1-1 01:33:18 | 显示全部楼层
引用第3楼alexries于2010-01-01 00:49发表的  :
第二个你可以选取一串圆形区域的单位加入单位组,然后用一个循环对比他们与固定单位的距离
哦,这个我也想过,就是做一个矩形区域(长型),就选取··
只是想,没试过··
回复

使用道具 举报

发表于 2010-1-1 04:06:04 | 显示全部楼层
不知道你那个在一条直线上是啥意思?

点在直线上只需要满足 x, y, 符合直线方程。
可是x, y, 都是实数~~~ 所以,想满足直线方程并不容易。

除非你的直线变成一个带状区域,或是单位有一定的体积。
你可以看看y是不是满足
绝对值(y - f(x)) <= 绝对值(r/cos(w))
r是带状区域的半宽度,或是单位的体积半径。
w是直线y=f(x)的角度
回复

使用道具 举报

发表于 2010-1-1 10:24:56 | 显示全部楼层
圆和三角函数好可怕……
回复

使用道具 举报

 楼主| 发表于 2010-1-3 23:58:35 | 显示全部楼层
引用第5楼Conflux于2010-01-01 04:06发表的 :
不知道你那个在一条直线上是啥意思?

点在直线上只需要满足 x, y, 符合直线方程。
可是x, y, 都是实数~~~ 所以,想满足直线方程并不容易。

.......

很深奥呢,我数学只有5分··· ,还是谢谢了!
回复

使用道具 举报

 楼主| 发表于 2010-1-4 00:05:01 | 显示全部楼层
可能我表达得不清楚,就是,比如一个单位施放技能,一个以单位为中心位移500距离方向0度滴点,两个点之间存在一个长500宽50滴矩形区域里面最近施法单位0度方向滴第一个单位····
回复

使用道具 举报

发表于 2010-1-4 09:28:09 | 显示全部楼层
将一个区域移动过去
设置两个对角
选取区域内所有单位
计算与施法单位的距离
比较与之前最近的一个的距离(初始化给个大点的距离)
是否小于它,如果小于
那么将这个新的最小的单位和距离替换原来的
直到循环完毕
然后
回复

使用道具 举报

 楼主| 发表于 2010-1-5 08:53:36 | 显示全部楼层
引用第9楼疯人¢衰人于2010-01-04 09:28发表的  :
将一个区域移动过去
设置两个对角
选取区域内所有单位
计算与施法单位的距离
比较与之前最近的一个的距离(初始化给个大点的距离)
.......

嗯,其实我做过了这个类似滴,也许只有这种办法了··
还有一个问题就是要在一定距离内找到单位,如果没有距离就很难确定(施法单位位置会在一个固定区域内不断变化)··
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-22 08:18 , Processed in 0.052929 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表