Appearance
区域模块管理接口 Area
具体函数名及描述如下:
| 序号 | 函数名 | 函数描述 |
|---|---|---|
| 1 | CreateAreaPrefab(...) | 创建一个区域对象 |
| 2 | GetAreaUuidByObjId(...) | 通过区域对象id 获取区域uuid |
| 3 | CreateAreaRectByRange(...) | 创建矩形区域(通过范围) |
| 4 | DestroyArea(...) | 销毁区域 |
| 5 | GetAreaCenter(...) | 获取区域中间点 |
| 6 | GetAreaRectLength(...) | 获取区域各边长 |
| 7 | GetAreaRectRange(...) | 获取区域范围 |
| 8 | GetRandomPos(...) | 随机区域内位置 |
| 9 | ObjInArea(...) | 检测obj是否在区域内 |
| 10 | BlockInArea(...) | 检测区域内是否有某个方块 |
| 11 | PosInArea(...) | 位置是否在区域内 |
| 12 | GetAreaPlayers(...) | 获取区域中的所有玩家 |
| 13 | GetAreaCreatures(...) | 获取区域中的所有生物(当帧创建的生物获取不到) |
| 14 | ClearAllBlock(...) | 清空区域内全部方块 |
| 15 | CloneAreaBlock(...) | 复制区域内方块到另一个区域 |
| 16 | ReplaceAreaBlock(...) | 替换方块类型为新的方块类型 |
| 17 | GetAllObjsInAreaRange(...) | 获取区域范围内全部对象 |
| 18 | GetAllPlayersInAreaRange(...) | 获取区域范围内全部玩家 |
| 19 | GetAllCreaturesInAreaRange(...) | 获取区域范围内全部生物 |
| 20 | FillBlockAreaRange(...) | 用方块填充区域范围(分帧处理,当前帧率操作不到填充的方块) |
| 21 | ClearAllBlockAreaRange(...) | 清空区域范围内方块 |
| 22 | DestroyAllBlock(...) | 破坏区域内的方块 |
| 23 | CloneAreaRange(...) | 复制区域范围内方块到另一个区域 |
| 24 | ReplaceAreaRangeBlock(...) | 替换区域范围方块 |
| 25 | GetRandomAirPos(...) | 获取一个区域内随机空气方块 |
| 26 | GetAreaBlockTypes(...) | 获取区域内的方块类型 |
| 27 | GetBlockNum(...) | 获取区域内的方块数量 |
| 28 | CheckRangeCanPlace(...) | 检查指定范围内是否可以放置方块 |
| 29 | GetRelativeActors(...) | 获取区域中指定玩家关系的角色 |
CreateAreaPrefab
lua
local ret,id = Area:CreateAreaPrefab(pos, size)GetAreaUuidByObjId
lua
local ret = Area:GetAreaUuidByObjId(objId)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)