U3D游戏角色血条制作并显示血量变化

news/2024/10/22 15:39:01/

U3D游戏角色血条制作并显示血量变化

关键:利用Slider来制作血条
大概效果:
数字会随着血量变化而变化。
在这里插入图片描述

步骤

1、在层级面板中右击,选择UI中的Slider.
在这里插入图片描述
2、创建好后,将Slider命名为HealthBar,可以看到层级面板中Slider的结构为,删掉其中的“Handle Slide Area”.
在这里插入图片描述
3、在层级面板选中HealthBar,在右侧的检查器窗口可以看到Slider组件属性,在MaxValue和MinValue内设置值,表示角色的血量范围,这里设置血量范围0-100,勾选整数.
在这里插入图片描述

4、选择HealthBar下的Background,在右侧检查器中,点击Rect Transform下的stretch.
在这里插入图片描述
点开stretch后,按住“Alt”键同时鼠标点击右下方的方块,让Background铺展开来.
按住Alt键同时点击鼠标
铺展开的HealthBar为如下形式
在这里插入图片描述
5、对Fill Area和其下的Fill也做上一步的操作。(注意,Fill Area和Fill要分别进行操作),效果如下
在这里插入图片描述
6、改变Background和Fill的颜色来区分。
在这里插入图片描述
在这里插入图片描述
效果:
HealthBar组件下的Value滑块可以看改变值时的状态,若是在改变值的时候,血条改变方向不对的话可以改变Fill Area的旋转值,根据自己游戏内坐标调整。
在这里插入图片描述
我的调整
在这里插入图片描述
7、在HealthBar层级下新建一个旧版的Text,并命名为CurrentHealth.
在这里插入图片描述
修改文字的格式、位置、内容等
在这里插入图片描述

在这里插入图片描述

8、创建一个脚本,命名为PlayControl,挂载到你的游戏的主角上。
首先创建变量用来存储当前的血量和最大血量

private float maxHealth=100;
public float MyMaxHealth
{get { return maxHealth; }
}
private float currentHealth;
public float MyCurrentHealth
{get { return currentHealth; }
}

在Start()中

currentHealth = maxHealth;
HealthBar.Instance.changeHealth();

减少血量的函数

public void ReduceHealth(float health)
{currentHealth = Mathf.Clamp(currentHealth - health, 0, maxHealth);HealthBar.Instance.changeHealth();
}

9、创建一个脚本,命名为HealthBar,并挂载到HealthBar上。

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class HealthBar : MonoBehaviour
{Slider healthBar;//在unity中关联游戏角色public  PlayerControler _play=new PlayerControler();//创建一个单例public static HealthBar Instance;//挂载创建的CurrentHealth的文本UIpublic Text healthNumber;void Awake(){Instance = this;}public void changeHealth(){//在playcontrol脚本中调用该函数,所以先判断是否获取到组件,//若是放在该脚本的Start中可能会获取不到if (healthBar == null){healthBar = GetComponent<Slider>();}//使用该段代码前,在Slider检视器中勾选整数,设置最大最小值healthBar.value = _play.MyCurrentHealth;healthNumber.text=healthBar.value+"/"+_play.MyMaxHealth;}
}

10、挂载完HealthBar脚本后,将主角拖到“播放”框内,将CurrentHealth文本拖到“HealthNumber”中,差不多可以实现效果了
在这里插入图片描述
如果有问题,欢迎留言 (๑•̀ㅂ•́)و✧


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

相关文章

这写孩子对计算机游戏上瘾了,孩子游戏上瘾怎么办?

首先&#xff0c;高中和初中是不一样的&#xff0c;主要原因有两个。原因1是因为刷下去了一批人。原因2是因为9年义务教育是在进行观点&#xff0c;世界观和基础知识的教育&#xff0c;而现在的高中则是侧重于技巧&#xff0c;高考要的学生不是万博而是专精&#xff0c;这点老师…

只是想虐下春丽,一不小心撸了台游戏机...

事情是这样的…… 前天下午天太热&#xff0c;我在家看电视&#xff0c;换台突然就看到了正在播《西游记》&#xff0c;窗外蝉声特别响&#xff0c;我一下就有种穿越回小学暑假的感觉。当时&#xff0c;我就特别想把我那台小霸王翻出来&#xff0c;玩两盘街霸……虐一下春丽 翻…

省社科基金本子评审标准总结

以”广东省社科基金——管理科学与工程”为例 评价指标&#xff1a; 1.选题科学性&#xff08;100分&#xff09; 项目研究的科学价值&#xff1b;拟解决科学问题的前沿性、重要性&#xff1b;对科学问题国内外发展现状分析的科学性、准确性&#xff1b;对学科发展的意义。 …

玩纸牌游戏计算机教案,大班科学纸牌游戏教案

教案一&#xff1a;好玩的扑克 活动目标&#xff1a; 1、尝试用多种方法让扑克牌站立起来&#xff0c;感知力与平衡的关系。 2、学习记录实验结果并乐于大胆明确的表达自己的想法。 3、在探索扑克的多种玩法中锻炼求异思维&#xff0c;乐于合作探究。 活动准备&#xff1a; 1、…

从零开始入门创作游戏——对象交互与UI展示

做教程远比自己开发游戏要花时间...继续写小恐龙的游戏教程 环境搭建在这里 从零开始入门创作游戏——Unity3d的环境搭建_默哀d的博客-CSDN博客 素材导入和基本页面介绍在这里 从零开始入门创作游戏——Unity编辑器的使用_默哀d的博客-CSDN博客 游戏对象的运动和交互逻辑脚…

c语言 simon 游戏,汉语课堂教学游戏推荐(上)

原标题&#xff1a;汉语课堂教学游戏推荐(上) 一、 BINGO 游戏 先让学生在本子上画九个格&#xff0c;每个格内填写一个听到的汉字&#xff0c;最后当老师念完后&#xff0c;老师选3个汉字念出来&#xff0c;只要学生把这 3个汉字填写在一条线上&#xff0c;便可获胜 &#xff…

【第98期】游戏策划:给@我有一个本子的应聘攻略

我是酱油&#xff0c;这是第98期文章 昨夜10点多&#xff0c;后台收到网友我有一个本子的留言&#xff1a; 前辈你好&#xff0c;究极恳请您给我一些建议&#xff0c;我先介绍一下自己的情况&#xff0c;我想做一名游戏策划&#xff0c;普通本科&#xff0c;专业动物科学&…

游戏人生

*、人生如戏&#xff0c;戏如人生&#xff0c;不管什么东东&#xff0c;只有合理&#xff0c;适度才能不被其蛊惑&#xff0c;保持积极正能量~ *、骚年&#xff0c;想想到底为了什么&#xff0c;再打开这个吧~