找回密码
 点一下
查看: 1298|回复: 4

【请教】如何判断一个单位的移动状态

[复制链接]
发表于 2008-9-8 15:31:00 | 显示全部楼层 |阅读模式
正在强化DOTA屠夫的AI,施放肉钩的瞬间要判断目标单位的移动状态(正在移动或站立不动)。
虽然单单一个if GetUnitCurrentOrder(jz)==851986 then能起效果,但并不完美。
测试时,我用一个英雄靠近屠夫(只点了一下鼠标右键),还有站立不动让屠夫接近时,屠夫均能准确判断运动轨迹出钩。
但不停地点鼠标右键让英雄靠近屠夫时,屠夫的判断就不是很准确了,经常出现明明在移动,而屠夫却往往不判断运动轨迹,反而向目标前一秒所处的位置出钩。
所以请问,这个if ... then该怎么写才算完美?
发表于 2008-9-8 16:30:17 | 显示全部楼层
这个………………貌似不简单

我的想法是,给单位0.02秒的时间作判断,在确定一个目标后,先获得它的当前位置坐标,然后用0.02秒的计时器,到期后再获取一次坐标,与前次做一个对比,并且可以计算出移动的角度

如果要连转向一起判断的话可能这个等待时间需要更长
回复

使用道具 举报

 楼主| 发表于 2008-9-8 17:12:20 | 显示全部楼层
哦,已经写好判断运动轨迹的代码了,现在就差判断目标移动状态的代码...
回复

使用道具 举报

发表于 2008-9-9 08:05:49 | 显示全部楼层
那个,  右键移动不是851971吗.....
回复

使用道具 举报

发表于 2008-9-9 19:12:13 | 显示全部楼层
有时候不需要命令单位也会移动的………………
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 06:20 , Processed in 0.175022 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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