【Ruby 2D】【unity learn】抬头显示血条

news2024/12/23 17:55:03

说起游戏开发,大家一般会觉得控制角色移动和制作血条哪个难呢?

或许都会觉得血条比较难吧。

是的,正是如此。

那么我们让我们来看看血条该怎么做吧

 这是效果图

受伤后是这样的

首先是创建一张Canvas画布

这个画布会很大

 相比之下我们的小地图就显得微不足道了

随后我们创建两个image元素

将图片放入source image中就行了

我这里图方便就直接把头像作为子元素挂载在这个状态栏上了 

注意先后排布好就行

随后

我们要做的是

创建一个image对象 ,然后搜索Mask组件

 变为Mask,然后我们创建子对象image这个是血条我们就叫它Health Bar

然后会是这个状态

注意 蓝色血条里image中的image Type改为Simple,并且我们的锚点要设置在左上角,在Rect Transform中设置

这样血条才不会随着父对象变换位置,也不会随着大小的变化而改变形状

操作如下

 

 

选中最左上角 

注意我们的Mask只起遮罩作用,是不显示的

所以我们应该将一个设置关掉,也就是这里

 随后就是代码环节了,前面乱七八糟的很杂,但是代码倒不复杂

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MyUIHealthBar : MonoBehaviour
{
    // Start is called before the first frame update
    public static MyUIHealthBar instance { get; private set; }//static将该变量设为全局变量,所有类都可调用
    public Image mask;//
    float originalSize;

    private void Awake()
    {
        instance = this;//一开始就将instance赋上值
    }

    void Start()
    {
        originalSize = mask.rectTransform.rect.width;//存Mask的宽度
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    public void SetValue(float value)
    {
        mask.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, originalSize * value);//这里是修改值的函数,到Rubycontroller脚本会直接调用
    }
}

下面是Ruby的代码

 

MyUIHealthBar.instance.SetValue(currentHealth / (float)maxHealth);

 就这么一行,是的,就这么一行

因为我们的static已经将instace公开了,人人都可以调用,所以我们只需要附上类名就可以直接调用这个控制遮罩宽度的函数了,通过控制Mask遮罩,太达到一个血条增减的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/417410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【redis】BigKey

【redis】BigKey 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章…

ChatGPT云桌面:无需科技挂载,即点即用

ChatGPT是一个由OpenAI开发的人工智能对话语言模型。它被设计为对话式人工智能代理,用于客户服务、个人助理和文娱等任务。它可以理解并生成多种语言的文本,包括中文、英语、西班牙语、德语等。但从某些地方访问ChatGPT可能很困难,特别是在注…

实验4 Matplotlib数据可视化

1. 实验目的 ①掌握Matplotlib绘图基础; ②运用Matplotlib,实现数据集的可视化; ③运用Pandas访问csv数据集。 2. 实验内容 ①绘制散点图、直方图和折线图,对数据进行可视化; ②下载波士顿数房价据集,并…

机器学习 -- 过拟合与欠拟合以及应对过拟合的方法 神经网络中的超参数如何选择

前言 在学习机器学习的过程中,训练模型时常遇到的问题就是模型的过拟合和欠拟合,下文我将解释过拟合和欠拟合的概念,并且学习应对过拟合以及神经网络中的超参数如何选择的方法。 过拟合和与欠拟合 过拟合:是指学习时选择的模型…

基于 Git 的开发工作流——主干开发特性总结

在参与开发的过程,得益与平台提供便捷的开发流程,简化很多开发过程操作分支的步骤;也就很好奇,为什么研发平台怎么设计,考虑的点是为什么,便有了这次对主干研发的学习与记录。当我们是构建软件项目的唯一开…

【计算机网络-传输层】TCP 协议

文章目录1 传输层概述1.1 传输层的功能1.2 端口号2 TCP 报文段2.1 TCP 报文段首部格式2.2 TCP 数据传送的过程3 TCP 连接管理3.1 TCP 连接的建立——三次握手3.1.1 客户机向服务器发送 TCP 连接请求报文段3.1.2 服务器向客户机发送 TCP 连接请求确认报文段3.1.3 客户机向服务器…

python数据可视化玩转Matplotlib subplot子图操作,四个子图(一包四),三个子图,子图拉伸

目录 一、创建子图 1.1 下图是绘制的子图: 1.2 代码释义: 二、绘制子图 2.1 代码引入 2.2 图形绘制 三、子图布局 3.1 子图布局说明 四、子图大小 4.1 子图大小调整 五、子图间距 5.1 子图代码调整 六、子图位置 6.1 代码引入 6.2 完整代码…

如何在 Windows10 下运行 Tensorflow 的目标检测?

前言 看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉,二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候,不是 Tensorflow 版本冲突,就是缺少什么包,还有是运行官方 object_detection_tutorial 不展示…

算法记录 | Day30 回溯算法

332.重新安排行程 思路: 1.确定回溯函数参数:定义全局遍历存放path, 2.终止条件:遍历完所有路径,机场个数,如果达到了(航班数量1),即path的长度应当为字符串二维数组长…

教程 | 多通道fNIRS数据的预处理和平均(下)

前言 前文近红外数据的预处理和平均(上)提到fNIRS是一种评估氧和脱氧血红蛋白浓度变化的方法,可与fMRI相媲美。fNIRS的不足是它的空间分辨率比fMRI差,但其优点是有更高的时间分辨率,并允许测量无法通过fMRI扫描仪测试…

GPT-4 API 接口调用及价格分析

GPT-4 API 接口调用及价格分析 15日凌晨,OpenAI发布了万众期待的GPT-4!新模型支持多模态,具备强大的识图能力,并且推理能力和回答准确性显著提高。在各种专业和学术基准测试上的表现都媲美甚至超过人类。难怪OpenAI CEO Sam Altm…

动态规划专题(明天继续)

动态规划求最大值: 题目描述 小蓝在一个 nn 行 mm 列的方格图中玩一个游戏。 开始时,小蓝站在方格图的左上角,即第 11 行第 11 列。 小蓝可以在方格图上走动,走动时,如果当前在第 rr 行第 cc 列,他不能…

ASIC-WORLD Verilog(3)第一个Verilog代码

写在前面 在自己准备写一些简单的verilog教程之前,参考了许多资料----asic-world网站的Verilog教程即是其一。这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。 这是网站原文&#xf…

Windows应急响应 -Windows日志排查,系统日志,Web应用日志,

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 Windows日志分析一、查看日志二、日志分类三、筛选日志四、事件ID1、安全日志1.1、登录类…

基于Java+SSM+Vue的旅游资源网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】

博主介绍:专注于Java技术领域和毕业项目实战 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案例(200套) 目录 一、效果演示 二、…

【从零开始学Skynet】实战篇《球球大作战》(八):login代码设计

现在来编写我们的第二个服务——登录服务,在编写此服务时,建议大家对照着如下所示的流程图来看,知晓各个方法的作用,写起来会简单许多。 1、登录协议 定义如下图所示的登录协议: 客户端需要发送玩家账号和密码&#x…

MyBatis 源码解析 面试题总结

MyBatis源码学习环境下载 文章目录1、工作原理1.1 初始化1.1.1 系统启动的时候,加载解析全局配置文件和相应的映射文件1.1.2 建造者模式帮助我们解决复杂对象的创建:1.2 处理SQL请求的流程1.2.1 通过sqlSession中提供的API方法来操作数据库1.2.2 获取接口…

UOS内核替换kylin内核

一、替换UOS内核 如果可以获取UOS的的ROOT权限, 跳过步骤一和二。 步骤一、配置环境 如果有UOS系统的机器,则不需要安装,跳到步骤二 。 如果没有UOS系统则需要下载, 下载UOS镜像:统信UOS生态社区 - 打造操作系统创新生态 ,下载专业版需要用户注册大概1~3天可以通过,…

HTML-form表单和提交

网络请求 在浏览器的URL中写入地址,点击回车访问时 浏览器会发送数据过去,本质上发送的是字符串 浏览器向后端发送请求时 GET请求【URL方法/表单提交】 现象:向后台传入数据,数据会拼接在URL上 搜索百度时: http…

十四、Pytorch实现RNN Classifier

一、项目需求 数据集:姓名和对应的国籍 要求:输入一个姓名,通过模型可以得到TA所属的国籍 数据集下载:name_country_datasets 二、思路步骤分析 ①准备数据集 将下载好的数据集解压,放到一个指定的位置&#xff0c…