2.2.7.5 enemy.lua
enemy.lua脚本包含了一系列与敌方车辆有关的函数,包括但不限于我方的坐标,速度,到我方车辆的距离,运动方向等等。以下是对各个函数的详细解释:
-
instance(role)
函数:返回该敌方role在场上的实体,用于参数调用。
function instance(role)
if type(role) == "number" then
return vision:TheirPlayer(role)
else
print("Invalid role in enemy.instance!!!")
end
end
-
pos(role)
函数:返回role在场上的坐标值。也可以通过调用posX(role)
与posY(role)
直接获取坐标X, Y值。
function pos(role)
return instance(role):Pos()
end
-
vel()
函数:返回车辆的速度(一个向量)
function vel(role)
return instance(role):Vel()
end
-
dir()
函数:返回车辆的朝向(一个向量)
function dir(role)
return instance(role):Dir()
end
-
velDir()
函数:返回车辆的速度方向。
function velDir(role)
return vel(role):dir()
end
-
velMod()
函数:返回车辆在场上的速率。
function velMod(role)
return vel(role):mod()
end
-
valid()
函数:返回是否能在场上看到该车辆。
function valid(role)
return instance(role):Valid()
end
-
oppoNum()
函数:用于获取对方车辆的数量。
function oppoNum()
return defenceInfo:getOppoNum()
end
-
attackNum()
函数:用于获取对方车辆在进攻时投入的数量。
function attackNum()
return defenceInfo:getAttackNum()
end
-
hasReceiver()
函数:用于判断对方车辆中是否有receiver角色。
function hasReceiver()
return CEnemyHasReceiver()
end
-
best()
函数:用于返回对方车辆中最佳的球追逐者,即最有可能造成威胁的车辆。
function best()
return defenceInfoNew:getBestBallChaser()
end
-
nearest()
函数:用于返回对方车辆中距离球最近的车辆的位置与方向。
function nearest()
local nearDist = 99999
local nearNum = 0
for i=1,6 do
local theDist = enemy.pos(i):dist(ball.pos())
if enemy.valid(i) and nearDist > theDist then
nearDist = theDist
nearNum = i
end
end
return pos(nearNum), dir(nearNum)
end