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

BUFF怎么用以及如何得到斜的长方形区域?

[复制链接]
发表于 2006-8-30 09:27:39 | 显示全部楼层 |阅读模式
目的是增加释放振荡波类技能的额外伤害.
因为之类技能是按角度释放的,选择圆形和方形区域的敌人增加额外伤害显然不合理.

BUFF怎么用啊,我的WE上只有2个选择,一个是变量,另一个是固定值.好像没什么用处.跟单位毫无关系.
发表于 2006-8-30 10:05:26 | 显示全部楼层
直接放技能不就好了,要么就判断单位坐标是否处于你要的区域内,这个属于算法一类,矩形算简单了吧.....

BUFF可以用来判断啊移除啊总之是有用的
回复

使用道具 举报

发表于 2006-8-30 12:09:37 | 显示全部楼层
BUFF只是在单位身上的效果。比如中了晕。就会有一个晕的BUFF。中了睡。就有一个睡的BUFF。如果没有。就表示消失了。这个和技能伤害有什么关系呢?
回复

使用道具 举报

发表于 2006-8-30 16:00:35 | 显示全部楼层
实际就是选择一个大区域包含该区域
然后判断单位位置


http://bbs.uuu9.com/viewthread.php?tid=280648&highlight=

function GetArea takes real L,real r returns boolean
local real x0 = GetUnitX(GetTriggerUnit())
local real y0 = GetUnitY(GetTriggerUnit())
local real x = GetUnitX(GetEnumUnit())
local real y = GetUnitY(GetEnumUnit())
local real a = Atan2(y - y0, x - x0) - Atan2(GetLocationY(GetSpellTargetLoc()) - y0, GetLocationX(GetSpellTargetLoc()) - x0)
local real w = SquareRoot((x-x0)*(x-x0)+(y-y0)*(y-y0))
return (w*Cos(a)>0 and w*Cos(a)<L and w*Sin(a)>-r and w*Sin(a)<r)
endfunction
参数L为区域长度,r为1/2宽度

矩形的选取,U9上的贴

[ 本帖最后由 Red_Wolf 于 2006-8-30 16:02 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2006-8-31 14:25:11 | 显示全部楼层
感谢红狼解答.

再问一个问题,哪里能看到震荡波技能的JASS代码?
回复

使用道具 举报

发表于 2006-8-31 15:05:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2006-8-31 15:49:01 | 显示全部楼层
我是问哪里可以找到技能的JASS算法.比如红龙说的震荡波技能计算区域的算法.
回复

使用道具 举报

发表于 2006-8-31 16:00:10 | 显示全部楼层
没有
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 15:21 , Processed in 0.060105 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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