找回密码
 点一下
查看: 1041|回复: 7

关于单位碰撞问题,求解

[复制链接]
发表于 2009-9-26 23:01:20 | 显示全部楼层 |阅读模式
1.如何判断单位是否撞到东西了,
包括撞到单位、可破坏物、边界的判断
(用于做类似火球技能,遇到障碍物自动爆炸)

2.如何判断单位面前X距离是否可通行或有障碍物
包括撞到单位、可破坏物、边界的判断
发表于 2009-9-26 23:30:40 | 显示全部楼层
这两个问题差不多是一个解决方法。
先说第一个问题,判断是否撞到单位、可破坏物的话,就是每次移动的时候,使用GroupEnumUnitsInRange()、EnumDestructablesInRect()之类的函数判断下范围内是否存在单位和可破坏物。边界的话就是判断地面的可通行状态,一般地图中悬崖和黑色边界可以用“PATHING_TYPE_WALKABILITY”侦测出来,而只侦测黑色边界的话使用“PATHING_TYPE_FLYABILITY”。

第二个问题,判断前方是否有单位或者可破坏物的话,就是如上面的方法,在选取到以后,根据其与单位之间的连线方向与单位的移动方向的夹角,如果小于一定数值(我当时侦测的距离是150码,效果比较好的话大概是15°),那就证明单位前方有障碍,边界或者悬崖也是同上。
回复

使用道具 举报

 楼主| 发表于 2009-9-26 23:47:15 | 显示全部楼层

回 1楼(cccty1l) 的帖子

如果不用函数,T可以么? 如果可以发个演示,谢谢
回复

使用道具 举报

发表于 2009-9-27 00:01:43 | 显示全部楼层

不知道可不可以只用T啊,话说原理基本就是那样了,楼主自己试试嘛
回复

使用道具 举报

发表于 2009-9-27 00:02:15 | 显示全部楼层
这个很多击退啊之类演示都含有此类效果的,不妨搜索下试试看
回复

使用道具 举报

发表于 2009-9-27 03:07:56 | 显示全部楼层
T里直接有的, 就是判断单位周围半径内的单位, 或者计算距离这类都能用T.

就看你用什么事件来引发, 是每X秒检测吗
回复

使用道具 举报

 楼主| 发表于 2009-9-27 07:13:11 | 显示全部楼层

回 5楼(刀锋战士) 的帖子

每0.01s
。。
我想我明白了
昨天晚上喝酒了去睡了有点犯迷糊
边界好判断
悬崖用Z轴判断
单位和可破坏物如刀胸所说选取前面范围内的
回复

使用道具 举报

发表于 2009-9-27 09:48:10 | 显示全部楼层
其实一般是这样
移动单位到X,Y 不是移动单位到X  + 移动单位到Y哦  移动单位到X,Y是会计算碰撞的 假设你移动以后 单位的 X  或 Y 与你指定 X 或 Y 不等 则认为该点存在障碍
以上
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 21:46 , Processed in 0.040476 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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