|
发表于 2011-6-29 21:17:01
|
显示全部楼层
引用第4楼·于2011-06-29 21:06发表的  :
相当复杂的计算....好吧,那么
自己想的算法,可能不是最佳……
你可以搜索一下有没有更好的。
[jass]function IsLocInDirection takes real x,real y,real tx,real ty,real facing,real sa,real ea returns boolean
    local real ang = (57.296)*Atan2(ty-y,tx-x)+180
    local real rsa = facing + sa
    local real rea = facing + ea
    if(ang>=rsa and ang<=rea)then
        return true
    endif
    set ang = ang + 360.0
    if(ang>=rsa and ang<=rea)then
        return true
    endif
    return false
endfunction
[/jass]
这个貌似不错,虽然也不简单。 |
|