直线、扇形选取二合一代码
魔兽地图编辑器吧
全部回复
仅看楼主
level 10
ck5524209 楼主
globals
private real x0
private real y0
private real f0
private real w0
private real r0
endglobals
private function Sector takes nothing returns boolean
local unit u=GetFilterUnit()
local real x= GetUnitX(u)
local real y= GetUnitY(u)
local real f
local real d=r0*TanBJ(w0)
set u=null
set f=bjf(x0, y0, x, y)
if RAbsBJ(AngleBetweenAngles(f0,f))<=90 then
set f=bjf(x0+d*CosBJ(f+180), y0+d*SinBJ(f+180), x, y)
if AngleBetweenAngles(f0,f)<w0 then
return true
endif
endif
return false
endfunction
//扇形范围单位
function SectorArea takes real x,real y,real f,real r,real halfanger returns boolexpr
set x0=x
set y0=y
set f0=f
set w0=halfanger
set r0=r/2
set FilterBxp= Filter(function Sector)
return FilterBxp
endfunction
其中xy为起点,f为方向角度,halfanger=0时为直线>0为扇形,r为直线宽度 用于扇形时是扩展宽度
2020年08月22日 03点08分 1
level 15
不看不看
2020年08月22日 04点08分 2
白嫖不看吗?
2020年08月22日 09点08分
@ck5524209 我不用嫖,我直接不用[阴险]
2020年08月22日 09点08分
@ck5524209 你这library都没有直接就private了
2020年08月22日 09点08分
@739099308 自己封
2020年08月22日 09点08分
level 7
这画的啥玩意儿[疑问]
2020年08月22日 05点08分 3
自己理解
2020年08月22日 09点08分
level 7
会的根本不看,不会的看了也不懂[滑稽]
2020年08月22日 13点08分 4
怪我?
2020年08月23日 09点08分
level 13
灵魂画师[阴险]
2020年08月22日 18点08分 5
没有灵魂怎么作图
2020年08月23日 09点08分
level 8
ck厉害
2020年08月23日 02点08分 6
level 14
不明觉厉
2020年08月24日 02点08分 7
level 10
ck5524209 楼主
补充一个自定义代码
function AngleBetweenAngles takes real angle1, real angle2 returns real
local real r = ModuloReal( angle1 - angle2, 360.0 )
if r <= 180.0 then
return r
endif
return 360.0 - r
endfunction
然后上面第二个判断夹角 也需要取绝对值
2020年08月24日 02点08分 8
level 8
CK说帮他顶贴,我来帮忙顶一顶[滑稽]
2020年08月24日 02点08分 9
level 6
bjf也提供下大佬
2020年08月25日 06点08分 11
忘了 楼下补
2020年08月25日 08点08分
@ck5524209 三克油
2020年08月25日 08点08分
level 10
ck5524209 楼主
function bjf takes real x, real y, real x2, real y2 returns real//(x, y)朝向(x1, y1)的角度
return(bj_RADTODEG * Atan2(y2 - y, x2 - x))
endfunction
2020年08月25日 08点08分 12
level 6
放弃了,返回的boolexpr不会用
2020年08月25日 09点08分 13
放到groupenum的参数上就行
2020年08月25日 10点08分
@ck5524209 扇形可以了,直线取不怪,同参数只把halfanger改成了0
2020年08月26日 17点08分
@你还挺有理◎ 我没测 感觉理论上可以选 回头测完再说
2020年08月27日 00点08分
@你还挺有理◎ 0角好像不行 稍微带个5度8度感觉就可以
2020年08月27日 00点08分
level 7
支持 ,多谢分享
2020年08月28日 01点08分 15
level 13
[戳]
我也想和什么东西合♂为一体
2020年11月27日 08点11分 16
level 9
ck还在薇吧战斗啊。[吐舌]
2020年11月28日 09点11分 17

2020年11月28日 10点11分
1 2 尾页