Unity 体力值的消耗与恢复
当角色爬墙、游泳和冲刺时,均消耗体力值
代码
public float strength = 1;
public float strengthRecoverStep;
public bool isRecoverable = true;
void RecoverStrength()
{if (!isRecoverable) return;if (strength >= 1){strength = 1;return;}if (strength < 1){strengthRecoverStep = Time.deltaTime / 10;strength += strengthRecoverStep;}
}bool IsStrengthEnoughToConsume(float value)
{if (strength - value <= 0)return false;else{strength -= value;return true;}
}
调用示例
void Dash()
{if (Input.GetKeyDown(KeyCode.LeftShift) && IsStrengthEnoughToConsume(0.2f))//消耗体力anim.SetTrigger("Dash");
}
float maxClimbTime = 15f;
void Climb()
{if(playerStatus==PlayerStatus.Climb){isRecoverable = false;float consumeStrengthPerFrame = 1 * Time.deltaTime / maxClimbTime;if(anim.GetFloat("ClimbSpeed") == 1) //只有往上爬才消耗体力{if(!IsStrengthEnoughToConsume(consumeStrengthPerFrame)){GetComponent<ClimbingSystem>().ExitClimbWall();isRecoverable = true;}}}
}
if (playerStatus == PlayerStatus.Swim)
{float consumeStrengthPerFrame = Time.deltaTime / maxSwimTime;if (!IsStrengthEnoughToConsume(consumeStrengthPerFrame)){sumVector = Vector3.zero;}
}
效果
Unity 角色体力值的消耗与恢复
Unity 体力值的消耗与恢复相关推荐
- Unity 休闲游戏体力值恢复
1.做休闲游戏实现一个体力恢复的功能,当游戏退出离线的时候,体力值也是恢复的,这个时候就需要计算游戏离线了多久. 2.作为测试 我脚本中的R和A分别可以增加体力和减少体力. 3.即使游戏退出,下次进入 ...
- 状态模式设计程序:游戏中英雄根据不同的体力值可以进行休息、防御、普通攻击、技能攻击。
资源下载地址:https://download.csdn.net/download/sheziqiong/85639034 一.应用场景与案例描述 我们经常在课余时间玩游戏以放松身心,缓解压力.在很多 ...
- Unity 之 Mac App Store 内购过程解析(购买非消耗道具 | 恢复购买 | 支付验证)
Unity 之 Mac App Store 内购过程解析(恢复购买) 准备工作 一,具体实现 1.1 场景搭建 1.2 代码实现 1.3 打包设置 二,打包测试 2.1 实现步骤说明 2.2 Mac签 ...
- PHP+Redis实现游戏体力值加减及自动恢复的操作
在开发小游戏项目时,有时需要服务端来操作用户的体力.如果使用数据库来保存略显冗余,性能也稍有不足,所有使用Redis的过期机制可以更好更快的快速实现需求. 示例中的Redis经过了多例的封装 参照 多 ...
- 计算机快捷键 还原默认值,CAD默认快捷键如何恢复?教你还原CAD默认配置的方法...
小编告诉大家AutoCAD的操作命令和各种设置分为默认和自定义. 可以根据每个人的喜好进行设置. 不必完全遵循该软件的默认操作,只是因为此快捷键是可变的,所以我仍然不习惯更改我的个人操作,并且想要恢复 ...
- Unity旋转值Quaternion交换旋转轴
最近项目上用到一款AR眼镜,其陀螺仪的给出的旋转值与预期有差异.如戴上眼镜左右转动头部时,视角却是沿着脸部朝前的轴旋转的.经过整理发现陀螺仪与Unity相机各轴正确对应关系如下: x(陀)->- ...
- Unity 伤害值的显示
需求 当玩家攻击角色时,将伤害的数值随机生成于小怪的画布上 数值由小变大,由透明变不透明 显示一段时间之后,数值逐渐褪色 实现方法 将显示伤害数值的文本作为预制体,并在上面挂载脚本 攻击判断成功时,克 ...
- 植物大战僵尸全明星服务器维修多长时间,植物大战僵尸全明星常见问题怎么解决?...
植物大战僵尸全明星玩家们总会有各种问题的,有些人会问怎么查看自己的ID还有怎么改自己的游戏名,植物有哪些怎么升级,或者是竞技场奖励领取不到等等问题的,那么接下来小编就列举出来帮助解答了! Q:商店都出 ...
- AcWing 1022 宠物小精灵之收服
题目描述: 宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事. 一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵. 小智也想收服其中的一些小精灵.然而,野生的小精灵并不那么容 ...
最新文章
- Flex警告:framework.swc”具有默认样式并且在 library-path 中,表...
- hdu-1207(规律推导)
- 和煤一样的黑色矿石_煤精?黑琥珀?煤球一样的东西这么值钱!
- Navicat 10 for SQL Server - 绿色中文版
- 数据结构之判断一棵树是不是完全二叉树
- S3VM和TSVM的不同
- matlab图像的读取和保存
- window一键清理垃圾代码
- wll多功能超小linux,WLL多功能PXE网启服务器3.6终结版
- 支持向量机原理(一) 线性支持向量机
- 雷达原理习题答案【西电】
- LMS算法的基本理论和MATLAB仿真
- 评《中国赛映射出巨大市场潜力 姚明希望CBA赶超NBA》
- linux权限管理ppt,Linux用户和权限管理.ppt
- 2012最具有技术影响力本版图书评选
- python验证身份证真伪_验证身份证的真伪,博客系统、个人博客、PHP、Linux、MySQL、python、前端技术、WEB知识...
- 软考信息系统项目管理师_历年真题_2021上半年错题集_前35道选择题---软考高级之信息系统项目管理师035
- 装系统提示:Error1962:No operating system found.解决办法在此
- 护卫神主机大师被提权漏洞利用(可千万不能乱装护卫神主机管理一键安装的软件)
- Win10中英文输入法无法切换解决办法