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

这篇具有很好参考价值的文章主要介绍了U3D游戏角色血条制作并显示血量变化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

关键:利用Slider来制作血条
大概效果:
数字会随着血量变化而变化。
U3D游戏角色血条制作并显示血量变化

步骤

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

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

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

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的文本UI
    public 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”中,差不多可以实现效果了
U3D游戏角色血条制作并显示血量变化
如果有问题,欢迎留言 (๑•̀ㅂ•́)و✧文章来源地址https://www.toymoban.com/news/detail-485931.html

到了这里,关于U3D游戏角色血条制作并显示血量变化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • U3D热更新技术

    @作者 : SYFStrive @博客首页 : HomePage 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 🤷‍♀️: 创作不易转发需经作者同意😈 💃: 程序员每天坚持锻炼💪 👉 U3D热更新技术 (🔥) 🕐:开发者将测试好的代码,发布到应用商店的审核平台,平台方会进行稳定性及性

    2024年02月02日
    浏览(40)
  • U3D通过按钮点击实现场景切换

    1.新建UI,选择button选项,新建button;   3.新建一个空对象,挂载一个scenechange c#脚本; 4.编写脚本,1头文件using UnityEngine.SceneMangement                    2public void change() {                     scenemanager.loadscene (1)  }//括号中的数字为第2步中场景后面的数字          

    2024年02月07日
    浏览(36)
  • 【算法】游戏中的学习,使用c#面向对象特性控制游戏角色移动

    最近,小悦的生活像是一首繁忙的交响曲,每天忙得团团转,虽然她的日程安排得满满当当,但她并未感到充实。相反,她很少有时间陪伴家人,这让她感到有些遗憾。在周五的午后,小悦的哥哥突然打来电话,他的声音里充满了焦虑。 “小悦,我有个事情想拜托你。”哥哥

    2024年02月08日
    浏览(43)
  • 【Unity入门】1.创建第一个u3d项目

            大家好,我是Lampard~~      欢迎来到Unity入门系列博客     Halo大家好久不见,最近半年比较懒惰,一直都比较少更新(不过摆烂确实挺开心哈哈哈哈哈)。最近项目要转3D,引擎要从以前的cocos转向unity,关注我的小伙伴可能知道,我以前开发的一直是cocos2d的内容,

    2024年03月15日
    浏览(38)
  • 【U3D引擎】没有切换中文选项&切换中文模式?

    第一步,查看是否有勾选简体中文模块 第二步,拉到底部,勾选简体中文,点击继续 第三步,勾选已阅读同意后点击安装 第四步,等待下载安装完成 过程中会自动安装VS软件 如有下载失败可重新下载 注:如果重复提示错误也没有没有关系,直接略过就好, 第五步,随便打

    2024年02月06日
    浏览(57)
  • 幻兽帕鲁转移/迁移游戏存档之后,无法迁移角色存档,进入游戏需要重新建角色问题(已解决),服务器到服务器之间的存档转移

    很多朋友在迁移幻兽帕鲁游戏存档到服务器的时候,可能会遇到一个问题,就是迁移完成后,进入到游戏会发现又需要从头开始,重新新建角色。 其实这个问题也很好解决,因为Palworld服务端有两种,一种是有APPID,还有一种是没有APPID。   如果迁移的前后服务器版本不一致

    2024年02月20日
    浏览(36)
  • AVProVideo☀️一、一款U3D视频播放插件介绍

    🎊 商务合作:https://skode.cn/file/businesscard/wechat.jpg 🎥 本文由 星河造梦坊公司官方 原创! 🏅 如果你有技术问题或项目开发,都可以加上方的联系方式,和我聊一聊你的故事🧡 前段时间看到有人问: 橙哥,AVProVideo支持8K全景视频嘛? 看来,好多人对这款插件的支持的功能

    2024年02月07日
    浏览(33)
  • UE4 回合游戏项目 01- 创建人物-玩家角色

    步骤: 1.下载游戏资源,链接:https://pan.baidu.com/s/1l2hpeEtIoFcUC4vAhut-ig 提取码:wlcp 2.解压第一节课资源 双击打开项目:  3.新建一个空白工程  设置好项目的存储路径和项目名  4.打开含有游戏资源的虚幻编辑器,右键点击内容,选择迁移  将所有的游戏资源迁移到新项目中

    2024年02月08日
    浏览(41)
  • leetcode 1996. 游戏中弱角色的数量(排序的魅力)

    题目 题意: 给定n个人的攻击力和防御力,对于一个人来说,如果存在某个人的攻击力和防御力都比他高,那么称这个人为 弱角色 。统计 弱角色 的数量 思路: 排序, 攻击力按从大到小排序 ,这样遍历的时候某个数时前边的攻击力都比他高(如果攻击力各不相同),这样我们

    2024年02月11日
    浏览(22)
  • Unity技能学院——RPG动作类游戏角色普攻的实现

    实现角色普攻是每个RPG类型动作游戏都会实现的功能,在游戏过程中,玩家与敌人相互攻击,产生攻击判定、血量减少、攻击效果等等。 这是几乎是我们每一个想上手RPG游戏开发的必修课。 因此本期内容讲各位零基础的学友带来最简单易上手的角色普攻教学。保证你一遍就

    2024年04月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包