Board
Board 代表了游戏关卡,其中包括了许多关卡的特有属性,以及许多与关卡内元素交互的方法。
Info
不建议保存 Board。除非必要,否则请尽可能使用 LawnApp:GetBoard() 来获取 Board
方法
以下是 LawnApp 的所有方法:
GetUpdateDelta
获取距离与上一逻辑帧过去的时间。
函数签名:
返回值:
- 距离上一逻辑帧过去的时间(秒)
MousePressing
获取鼠标是否按住(暂停时不进行记录)。
函数签名:
返回值:
- 鼠标是否按住
SetSun
将阳光修改为新的值。
函数签名:
参数:
valueinteger: 新的阳光值
GetZombies
获取场上所有的僵尸。
函数签名:
返回值:
- 一个表,键是僵尸的 id,值是 Zombie 实例
GetZombieById
通过僵尸 id 查询获取特定僵尸,如果没有此 id 的僵尸则返回 nil。
函数签名:
参数:
idinteger: 僵尸的 id
返回值:
- 如果此僵尸存在,返回 Zombie 实例,否则返回 nil
AddZombie
在特定行添加一只僵尸。
函数签名:
参数:
zombie_typeinteger: 僵尸的类型 idrowinteger: 僵尸所在的行from_waveinteger: 僵尸来自的波次
返回值:
- 返回创建僵尸的 Zombie 实例
AddCoin
添加一个掉落物
函数签名:
参数:
posVec2: 掉落物的坐标coin_typeCoinType: 掉落物类型coin_motionCoinMotion: 掉落物运动方式
返回值:
- 返回生成掉落物的 Coin 实例
PosToGridKeepOnBoard
将一个坐标转换为关卡内网格的坐标。且对于网格范围外的坐标,会转换为必定在网格内的网格坐标。
函数签名:
参数:
posVec2: 原始坐标
返回值:
- 游戏关卡内网格坐标的 Vec2
GetPlants
获取场上所有的植物。
函数签名:
返回值:
- 一个表,键是植物的 id,值是 Plant 实例
GetPlantById
通过植物 id 查询获取特定植物,如果没有此 id 的植物则返回 nil。
函数签名:
参数:
idinteger: 植物的 id
返回值:
- 如果此植物存在,返回 Plant 实例,否则返回 nil
GetPlantByGrid
通过棋盘坐标获取对应格子中的所有植物。
函数签名:
参数:
grid_posVec2: 关卡内棋盘坐标
返回值:
- 一个表,键是植物的 id,值是 Plant 实例
Explode
在特定位置产生一次特定效果的爆炸。
函数签名:
参数:
posVec2: 爆炸的坐标。radiusinteger: 爆炸的半径。作为参考,毁灭菇的爆炸半径是250。flagDamageFlag: 爆炸伤害的类型。soundDamageFlag?: (可选)爆炸的音效。particleParticle?: (可选)爆炸的粒子效果。
AddPlant
在指定游戏棋盘位置种植一株植物。
无视种植条件。
函数签名:
参数:
grid_posVec2: 游戏棋盘坐标。seed_typeinteger: 植物的种类。
返回值:
- 返回创建植物的 Plant 实例