当前生命 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 作者:姚舜予