玩家的游戏行为
多例类 Player 用于控制游戏内行为。
字段
armor
说明:护甲,类型为 Weapon。
注解:使用 new 方法创建 Player 对象时指明此字段,缺省为 nil。
part_weapons
说明:配件武器列表,类型为 Weapon[]。
注解:使用 new 方法创建 Player 对象时指明此字段,缺省为 {}。
conventional_weapons
说明:常规武器列表,类型为 Weapon[],缺省为 {}。
注解:使用 new 方法创建 Player 对象时指明此字段。
special_weapons
说明:特殊武器列表,类型为 Weapon[],缺省为 {}。
注解:使用 new 方法创建 Player 对象时指明此字段。
RESPAWN_KEY
说明:复活或回合重置按键,可取所有合法的键盘按键值(参阅 键盘操作)。
注解:不要直接修改此字段,应通过 set_respawn_key 修改此字段。
run_direction
说明:跑动方向,可取下列值。
| 值 | 含义 |
|---|---|
0 |
静止 |
1 |
向前奔跑 |
2 |
向左奔跑 |
3 |
向后奔跑 |
4 |
向右奔跑 |
注解:该字段值在运行时动态确定,不要修改此字段。
last_activate_special_ability_time
说明:最近一次发动角色技能的时刻,类型为 integer,单位为秒。
注解:该字段值在运行时动态确定,不要修改此字段。
last_weapon
说明:最近一次使用的武器,类型为 Weapon。
注解:该字段值在运行时动态确定,不要修改此字段。
last_primary_weapon
说明:最近一次使用的主武器,类型为 Weapon。
注解:该字段值在运行时动态确定,不要修改此字段。
last_secondary_weapon
说明:最近一次使用的副武器,类型为 Weapon。
注解:该字段值在运行时动态确定,不要修改此字段。
last_buy_part_weapon_time
说明:最近一次购买配件武器的时刻,类型为 integer,单位为秒。
注解:该字段值在运行时动态确定,不要修改此字段。
last_part_weapon_index
说明:最近一次购买的配件武器在配件武器列表中的索引,类型为 integer。
注解:该字段值在运行时动态确定,不要修改此字段。
last_buy_special_weapon_time
说明:最近一次购买特殊武器的时刻,类型为 integer,单位为秒。
注解:该字段值在运行时动态确定,不要修改此字段。
last_special_weapon_index
说明:最近一次购买的特殊武器在特殊武器列表中的索引,类型为 integer。
注解:该字段值在运行时动态确定,不要修改此字段。
方法
set_respawn_key
说明:修改复活或回合重置按键。
原型:Player:set_respawn_key(key)
key:键盘按键名称。
new
说明:创建新的 Player 实例,实例包含 Player 原型的所有字段和方法。
原型:Player:new(init)
init:初始化列表,类型为table。
注解:
start_move
说明:开始运动。
原型:Player:start_move()
注解:调用该函数后,将向 run_direction 指示的方向(该方向随机产生)运动。
stop_move
说明:与 start_move 相对,结束运动。
原型:Player:stop_move()
reset_round_or_respawn
说明:若 Setting.lua 中启用了自动复活或回合重置,则调用此方法会执行复活或回合重置操作。
原型:Player:reset_round_or_respawn()
注解:此方法默认注册在中断处理列表内,无需主动调用。
activate_special_ability
说明:若 Setting.lua 中启用了周期发动角色技能,则调用此方法将发动角色技能。
原型:Player:activate_special_ability()
buy_armor
说明:购买护甲。
原型:Player:buy_armor()
buy_part_weapons
说明:按序购买配件武器列表中的武器。
原型:Player:buy_part_weapons()
注解:为避免购买配件武器过于频繁,方法内设定了间隔时间,因此调用该方法每隔一段时间才会购买武器。
attack_with_conventional_weapons
说明:随机选取并购买常规武器列表中的武器进行攻击。
原型:Player:attack_with_conventional_weapons()
attack_with_special_weapons
说明:按序选取并购买特殊武器列表中的武器进行攻击。
原型:Player:attack_with_special_weapons()
注解:为避免购买配件武器过于频繁,方法内设定了间隔时间,因此调用该方法每隔一段时间才会购买武器。
play
说明:使用 Player 实例进行游戏。
原型:Player:play()
注解:该方法内部依次调用 buy_armor、buy_part_weapons、attack_with_conventional_weapons、attack_with_special_weapons。
示例
下面的例子创建了一个默认玩家对象。其中,Armor、DefaultPartWeapons、DefaultConventionalWeapons、DefaultSpecialWeapons 定义在 WeaponList.lua 中。
---默认模式挂机玩家对象。
local default_player = Player:new{
armor = Armor,
part_weapons = DefaultPartWeapons,
conventional_weapons = DefaultConventionalWeapons,
special_weapons = DefaultSpecialWeapons
}
调用 default_player 实例的 play 方法,使用该玩家对象进行游戏。
default_player:play()