找回密码
 点一下
查看: 1650|回复: 5

请问在做击退技能时,怎么让单位遇到障碍物停下

[复制链接]
发表于 2008-1-14 13:55:52 | 显示全部楼层 |阅读模式
请问在做击退技能时,怎么让单位遇到障碍物停下,就像真三3.9里的赵云的长枪突刺技能。
发表于 2008-1-14 18:54:10 | 显示全部楼层
你看~~在布尔判断里面有个地表可通行是否关闭的判断~~
你只要在循环移动单位的时候判断下一个点是否是可通行的~~如果不可通行的话退出循环即可~~
回复

使用道具 举报

发表于 2008-1-14 18:58:48 | 显示全部楼层
查看想要移动的地点,是不是"地面,可通行的"

如果从地形上讲的通行性,可以直接在jass api里找.

如果这个地方,是不是被树,或房子挡住了而无法通行,可以做一个全屏插眼的技能,给一个不可见单位.
让它对着这个点插眼, 如果插眼函数返回false,说明这个点是不可通行状态.  如果返回true,但是,检查所插的眼睛,并不在
所要插的位置上,说明被建筑挡住了.

如果想判断一个点,是不是被一个普通单位挡住了,(非建筑),而造成无法通行.  可以造一个不可见单位,无移动速度,且在地图外面.,对着这个点,随便使用一个造建筑技能.  这时,返回false,就说明这个地方有单位挡着. (注意,这个辅助单位,一定要是一个特殊的玩家的,比如玩家16这样的.  因为这个点被玩家自己的单位挡住了,这个函数返回true).  
(无移动速度,保证了这个建筑不能被造出来.  而我们所做的,仅仅是利用这个返回值而己)


说多了....
jass中有很多函数的返回值是很有用的,只是人们不太注意而己.
回复

使用道具 举报

发表于 2008-1-14 18:59:48 | 显示全部楼层
郁闷.  我在回帖时,还没有发现MS Renee.  等我写完时,发现,我来晚了.
回复

使用道具 举报

发表于 2008-1-14 19:06:55 | 显示全部楼层
显然你说的比较详细~~
回复

使用道具 举报

 楼主| 发表于 2008-1-14 21:24:37 | 显示全部楼层
谢谢两位的指导……很受用!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-1 17:04 , Processed in 0.039647 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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