Appearance
区域模块管理接口 Area
具体函数名及描述如下:
序号 | 函数名 | 函数描述 |
---|---|---|
1 | CreateAreaRectByRange(...) | 创建矩形区域(通过范围) |
2 | DestroyArea(...) | 销毁区域 |
3 | GetAreaCenter(...) | 获取区域中间点 |
4 | GetAreaRectLength(...) | 获取区域各边长 |
5 | GetAreaRectRange(...) | 获取区域范围 |
6 | GetRandomPos(...) | 随机区域内位置 |
7 | ObjInArea(...) | 检测obj是否在区域内 |
8 | BlockInArea(...) | 检测区域内是否有某个方块 |
9 | PosInArea(...) | 位置是否在区域内 |
10 | GetAreaPlayers(...) | 获取区域中的所有玩家 |
11 | GetAreaCreatures(...) | 获取区域中的所有生物(当帧创建的生物获取不到) |
12 | ClearAllBlock(...) | 清空区域内全部方块 |
13 | CloneAreaBlock(...) | 复制区域内方块到另一个区域 |
14 | ReplaceAreaBlock(...) | 替换方块类型为新的方块类型 |
15 | GetAllObjsInAreaRange(...) | 获取区域范围内全部对象 |
16 | GetAllPlayersInAreaRange(...) | 获取区域范围内全部玩家 |
17 | GetAllCreaturesInAreaRange(...) | 获取区域范围内全部生物 |
18 | FillBlockAreaRange(...) | 用方块填充区域范围(分帧处理,当前帧率操作不到填充的方块) |
19 | ClearAllBlockAreaRange(...) | 清空区域范围内方块 |
20 | DestroyAllBlock(...) | 破坏区域内的方块 |
21 | CloneAreaRange(...) | 复制区域范围内方块到另一个区域 |
22 | ReplaceAreaRangeBlock(...) | 替换区域范围方块 |
23 | GetRandomAirPos(...) | 获取一个区域内随机空气方块 |
24 | GetAreaBlockTypes(...) | 获取区域内的方块类型 |
25 | GetBlockNum(...) | 获取区域内的方块数量 |
26 | CheckRangeCanPlace(...) | 检查指定范围内是否可以放置方块 |
27 | GetRelativeActors(...) | 获取区域中指定玩家关系的角色 |
CreateAreaRectByRange
- 参数及类型:
- 返回值及类型:
- ret:
number
区域ID
- ret:
- 该方法的主要作用: 创建矩形区域(通过范围)
- 具体使用案例如下:
lua
local ret = Area:CreateAreaRectByRange(posBeg, posEnd, btmp)
DestroyArea
lua
local ret = Area:DestroyArea(areaid)
GetAreaCenter
lua
local ret = Area:GetAreaCenter(areaid)
GetAreaRectLength
- 参数及类型:
- areaid:
number
区域ID
- areaid:
- 返回值及类型:
- 该方法的主要作用: 获取区域各边长
- 具体使用案例如下:
lua
local ret, leny, lenz = Area:GetAreaRectLength(areaid)
GetAreaRectRange
lua
local ret, posEnd = Area:GetAreaRectRange(areaid)
GetRandomPos
lua
local ret = Area:GetRandomPos(areaid)
ObjInArea
lua
local ret = Area:ObjInArea(areaid, objid)
BlockInArea
- 参数及类型:
- areaid:
number
区域ID - blockid:number,string方块类型ID
- areaid:
- 返回值及类型:
- ret:
bool
是否在区域内
- ret:
- 该方法的主要作用: 检测区域内是否有某个方块
- 具体使用案例如下:
lua
local ret = Area:BlockInArea(areaid, blockid)
PosInArea
lua
local ret = Area:PosInArea(areaid, pos)
GetAreaPlayers
lua
local playerlist = Area:GetAreaPlayers(areaid)
GetAreaCreatures
- 参数及类型:
- areaid:
number
区域唯一ID
- areaid:
- 返回值及类型:
- playerlist:
table
生物objid组
- playerlist:
- 该方法的主要作用: 获取区域中的所有生物(当帧创建的生物获取不到)
- 具体使用案例如下:
lua
local playerlist = Area:GetAreaCreatures(areaid)
ClearAllBlock
- 参数及类型:
- 返回值及类型:
- ret:
boolean
成功(true)
- ret:
- 该方法的主要作用: 清空区域内全部方块
- 具体使用案例如下:
lua
local ret = Area:ClearAllBlock(areaid, blockid, num, btriggerevent)
CloneAreaBlock
- 参数及类型:
- 返回值及类型:
- ret:
boolean
成功(true)
- ret:
- 该方法的主要作用: 复制区域内方块到另一个区域
- 具体使用案例如下:
lua
local ret = Area:CloneAreaBlock(areaid, pos)
ReplaceAreaBlock
- 参数及类型:
- 返回值及类型:
- ret:
boolean
成功(true)
- ret:
- 该方法的主要作用: 替换方块类型为新的方块类型
- 具体使用案例如下:
lua
local ret = Area:ReplaceAreaBlock(areaid, srcblockid, destblockid, face, color)
GetAllObjsInAreaRange
- 参数及类型:
- 返回值及类型:
- objs:
table
对象objid组
- objs:
- 该方法的主要作用: 获取区域范围内全部对象
- 具体使用案例如下:
lua
local objs = Area:GetAllObjsInAreaRange(posbeg, posend, objtype)
GetAllPlayersInAreaRange
lua
local objs = Area:GetAllPlayersInAreaRange(posbeg, posend)
GetAllCreaturesInAreaRange
lua
local objs = Area:GetAllCreaturesInAreaRange(posbeg, posend)
FillBlockAreaRange
- 参数及类型:
- 返回值及类型:
- ret:
bool
成功(true)
- ret:
- 该方法的主要作用: 用方块填充区域范围(分帧处理,当前帧率操作不到填充的方块)
- 具体使用案例如下:
lua
local ret = Area:FillBlockAreaRange(posbeg, posend, blockid, face, color, switch, filltype)
ClearAllBlockAreaRange
- 参数及类型:
- 返回值及类型:
- ret:
bool
成功(true)
- ret:
- 该方法的主要作用: 清空区域范围内方块
- 具体使用案例如下:
lua
local ret = Area:ClearAllBlockAreaRange(posbeg, posend, blockid, btriggerevent)
DestroyAllBlock
- 参数及类型:
- 返回值及类型:
- ret:
boolean
操作成功(true)
- ret:
- 该方法的主要作用: 破坏区域内的方块
- 具体使用案例如下:
lua
local ret = Area:DestroyAllBlock(areaid, blockid, n, candrop, btriggerevent)
CloneAreaRange
- 参数及类型:
- 返回值及类型:
- ret:
boolean
操作是否成功(true/false)
- ret:
- 该方法的主要作用: 复制区域范围内方块到另一个区域
- 具体使用案例如下:
lua
local ret = Area:CloneAreaRange(posbeg, posend, deststartpos, itype)
ReplaceAreaRangeBlock
- 参数及类型:
- 返回值及类型:
- ret:
boolean
操作是否成功(true/false)
- ret:
- 该方法的主要作用: 替换区域范围方块
- 具体使用案例如下:
lua
local ret = Area:ReplaceAreaRangeBlock(posbeg, posend, srcblockid, destblockid, face, inair)
GetRandomAirPos
- 参数及类型:
- 返回值及类型:
- ret:
table
随机空气位置(x - y
- z)
- ret:
- 该方法的主要作用: 获取一个区域内随机空气方块
- 具体使用案例如下:
lua
local ret = Area:GetRandomAirPos(posbeg, posend)
GetAreaBlockTypes
lua
local ret = Area:GetAreaBlockTypes(areaid)
GetBlockNum
- 参数及类型:
- areaid:
number
区域ID - blockid:string,number方块ID
- areaid:
- 返回值及类型:
- ret:
number
方块数量
- ret:
- 该方法的主要作用: 获取区域内的方块数量
- 具体使用案例如下:
lua
local ret = Area:GetBlockNum(areaid, blockid)
CheckRangeCanPlace
- 参数及类型:
- 返回值及类型:
- ret:
boolean
是否可以放置方块(true/false)
- ret:
- 该方法的主要作用: 检查指定范围内是否可以放置方块
- 具体使用案例如下:
lua
local ret = Area:CheckRangeCanPlace(posbeg, posend, blockid)
GetRelativeActors
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取区域中指定玩家关系的角色
- 具体使用案例如下:
lua
local num,arr = Area:GetRelativeActors(posbeg, posend, uin, relativing, actortype)