Unity 血量显示 子弹显示 时间显示 敌人数显示

news/2025/5/16 8:55:54/

UI对象

效果

血量显示 时间显示

子弹显示

敌人数显示

核心代码

位于UIManager.cs脚本

   //更新血条public void UpdateHealthBar(int curAmount,int maxAmount){healthBar.fillAmount = (float)curAmount / (float)maxAmount;}//更新子弹public void UpdateBulletCount(int curAmount,int maxAmount){bulletCountText.text = curAmount.ToString()+"/"+maxAmount.ToString();}//刷新时间public void UpdateTimeBar(int curtime){int min = curtime / 60;int sec = curtime % 60;if (sec < 10 && min<10){TimeBar.text = "0"+min.ToString() + ":0" + sec.ToString();}if (sec > 10 && min < 10){TimeBar.text = "0" + min.ToString() + ":" + sec.ToString();}}//更新敌人数public void UpdateEnemyLeft(int enemyleft){EnemyLeftBar.text = enemyleft.ToString();}

必备配套代码

    public static UIManager instance { get; private set; }private void Awake(){instance = this;}

玩家脚本调用代码

   public void changeHealth(int amount){//可能是受到伤害,也可能是加血if(amount<0){//如果是受伤,设置无敌状态,则2秒内不能受伤if(isWudi==true){return;}isWudi = true;//播放受伤动画anim.SetTrigger("Hit");//播放受伤音效AudioManager.instance.AudioPlay(hitClip);//为无敌计时器赋值wuditimer = wuditime;}//更改健康值currentHealth = Mathf.Clamp(currentHealth+amount,0,maxHealth);//更新血条UIManager.instance.UpdateHealthBar(currentHealth, maxHealth);//调试Debug.Log(currentHealth + "/" + maxHealth);}public void ChangeBulletCount(int amount){//改变子弹数curBulletCount = Mathf.Clamp(curBulletCount + amount, 0, maxBulletCount);//改变UI子弹数UIManager.instance.UpdateBulletCount(curBulletCount, maxBulletCount);}public void UpdateTime(){//游戏时间gametime += Time.deltaTime;//Debug.Log((int)gametime);//改变UI时间UIManager.instance.UpdateTimeBar((int)gametime);}public void UpdateEnemyLeft(){UIManager.instance.UpdateEnemyLeft(enemyleft);}

附完整教程:

Unity2d Rubys Adventure 课程设计报告


http://www.ppmy.cn/news/761326.html

相关文章

unity显示当前帧数的脚本

关于帧数的计算和显示&#xff0c;其实是比较简单的&#xff1b; 但是想写一个简洁&#xff0c;并且高内聚&#xff08;每个游戏拉过来就能用&#xff09;还是要花点心思的&#xff1b; 我这里用了一个协程实现循环计算&#xff0c;省去了update里边的代码&#xff1b;用OnGU…

手机切换ip地址会遇的问题以及解决方法汇总

手机切换IP地址是一种常见的操作&#xff0c;它可以帮助用户解决一些网络问题&#xff0c;提高网络连接速度&#xff0c;或者绕过某些限制。然而&#xff0c;在进行IP地址切换时&#xff0c;用户可能会遇到一些问题。本文将详细介绍手机切换IP地址可能遇到的问题&#xff0c;并…

Linux下ethtool指令详解

ethtool是一个强大的网络工具&#xff0c;用于配置和查询以太网接口的状态和参数。本文中将详细解释ethtool指令的前世今生、功能和用法&#xff0c;并提供示例和参考链接&#xff0c;帮助我们更好地理解和应用该指令。 文章目录 一、ethtool的前世今生二、ethtool的功能和用法…

小米4 miui6 android,小米4怎么刷miui6?小米4刷miui6三种方法详解

小编将向大家介绍三种小米4刷miui6的方法&#xff0c;分别是卡刷miui6、线刷miui6和Recovery下更新zip包升级miui6。 卡刷MIUI6完整包 下载必要的文件&#xff0c;为刷机过程做准备。 注意&#xff1a; MIUI完整包升级不需要清除数据&#xff0c;降级需要清除数据。 如果已经在…

新装idea的一些常用设置

新装idea的一些常用设置 新安装的idea常用配置 1、提示内容忽略大小写 File -> Settings -> Editor -> General -> Code Completion -> Match case 2、修改字体大小 File -> Settings -> Editor -> Font -> Size 3、取消启动时自动打开最后开…

CSS3:创造引人注目的Web界面

引言 CSS3作为最新版本的CSS标准&#xff0c;为Web界面设计师和开发人员带来了许多令人振奋的新特性和功能。本篇博客将带你深入了解CSS3的各个方面&#xff0c;包括选择器和样式属性、布局和盒模型、过渡和动画、响应式设计等。通过详细的代码示例和实用的技巧&#xff0c;我…

《源泉》节选:现实是多目标折衷

“凯蒂&#xff0c;我们为什么不结婚呢&#xff1f;” “我不知道。”她说&#xff0c;接着又匆忙地补充&#xff0c;只是因为她的心在咚咚作响&#xff0c;因为她不能保持沉默&#xff0c;因为她感到自己不能利用他&#xff0c;“我认为那是因为我们知道我们不必匆忙。” “但…

【硬核干货!】不刷面经,还想上岸大厂?AI算法篇(一)

文章目录 面试前的准备个人基本信息:专业技能:项目/实习/实验经历:强烈建议获奖情况:个人简单评价:校招时投简历1.内推。2.宣讲会。3.双选会。4.网投。笔试和面试过来人重点提醒大家好,我是cv君,开始面经,今天说说很重要的个人心得~ 这个专栏,应许多粉丝要求开通,希…