当前生命 Health

数据流向
数据由服务器同步给客户端,客户端无法同步给服务器

属性默认值200,属性区间[0,1000000000]

描述

Health是代表角色当前拥有生命值数量的属性,该属性最大值不能超过角色的最大生命属性的值。
玩家可以通过脚本直接修改角色的Health属性,也可以使用角色的TakeDamage()Heal()方法减少或增加角色的Health值。
使用BeKilled()函数进入死亡状态的角色Health属性也会变成0。
根据角色Health属性值的不同,会有三中不同状态:

满血

当角色当前生命等于最大生命时,玩家处于满血状态,此时,如果角色的生命显示模式选择的是“掉血显示”,则不会显示玩家的血条。

掉血

当角色当前生命小于最大生命且大于0时,角色处于掉血状态,此时,如果角色的生命显示模式选择的是“掉血显示”,会显示玩家的血条。

死亡

当角色当前生命等于0时,角色进入死亡状态,此时,角色会根据选择的死亡表现播放死亡动画,在死亡状态下,玩家无法操作角色,也无法改变角色的状态。
在死亡状态下玩家依然可以修改角色的Health属性,但是角色不会复活。

实例

实例1 修改角色的当前生命

在角色下添加服务器脚本,添加下列代码,获取角色对象,修改当前生命

local avatar=script.Parent --获取角色对象
avatar.Health=150 --将角色的当前生命修改为150
print(avatar.Health) --在控制台输出修改后的角色当前生命

实例2 制作简单的角色血条

1、在界面初始化对象下按图中层级添加对象

2、将“当前血条”对象的“图像类型”属性改为“填充”,将“填充起点”属性改为0,根据喜好分别为“血条框”和“当前血条”选择图片
3、在角色血条下的客户端脚本中加入下列代码

if WorkSpace.男孩~= nil then --判断是否存在角色
    GameUI:WaitForChild("角色血条").IsVisable = true --显示角色血条
    GameUI:WaitForChild("角色血条"):WaitForChild("生命显示").Text = WorkSpace.男孩.Health .. "/"  .. WorkSpace.男孩.MaxHealth --在“生命显示”添加角色的当前生命和最大生命数值
    GameUI:WaitForChild("角色血条"):WaitForChild("血条框"):WaitForChild("当前血条").FillAmount = WorkSpace.男孩.Health / WorkSpace.男孩.MaxHealth --根据角色当前生命和最大生命的比例填充代表角色血条的图片
end
文档更新时间: 2020-09-02 16:56   作者:姚舜予