Unity 制作血量滑动条(Slider)

1.创建UI slider

层级面板点击右键-UI-slider

2.调整UI位置

选择2D视图,调整锚点和滑动条位置

 3.PS中制作UI

导出2个图层,PNG格式。

4.改成精灵模式(sprite2d)

把两个PNG导入Unity仓库中,选中两个图,右上角从切换为sprite

5.选中左边background,修改滑动条背景图

 选中Fill ,修改Sourceimage

6.用脚本把血量的数据赋值给滑动条的value 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class ManagerUI : MonoBehaviour
{// 这个脚本主要管理UIpublic Slider oneSlider;void Start(){
//初始化滑动条的最大数值为10000,这个是为了与另一个脚本的变量保持一致oneSlider.maxValue = 10000;oneSlider.value = 10000;//这个是滑动条当前的数值,随着这个数值的变化,滑动条自己会滑动}// Update is called once per framevoid Update(){do{if (oneSlider == null){Debug.Log("滑动条为空");break;}
//从另一个类中拿到血量变量实时赋值给滑动条的当前数值oneSlider.value = ScoreManager.CurrentBlood;} while (false);}
}

你需要另一个类里面的血量变量!附赠另一个管理分数和血量的脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ScoreManager : MonoBehaviour
{//分数管理 血量管理// 如果撞击到金币就加分,如果撞击到障碍物就掉血public static int CurrentScore=0;public static int CurrentBlood = 10000;private void Start(){CurrentScore = 0;//初始化CurrentBlood = 10000;//初始化}public  static void ScoreAdd(){Debug.Log("加分函数开始执行");CurrentScore += 10;Debug.Log("分:"+CurrentScore);}public static void SubBlood(){Debug.Log("掉血函数开始执行");CurrentBlood -= 100;Debug.Log("血:" + CurrentBlood);}private void OnGUI(){Rect oneLableRec = new Rect(100, 100, 50, 50);GUILayout.Box(CurrentBlood.ToString(), GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false)); // 创建另一个矩形框,背景色为红色,边框宽度为3像素GUILayout.Box(CurrentScore.ToString(), GUILayout.Width(200), GUILayout.Height(70), GUILayout.ExpandWidth(false));GUILayout.TextField("欢迎来到跑酷小将", GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false));}}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode刷题详解—— 目标和

1. 题目链接:494. 目标和 2. 题目描述: 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可…

代码随想录 Day43 动态规划11 LeetCode T309 买卖股票的最佳时期含冷冻期 T714买卖股票的最佳时机含手续费

LeetCode T309 买卖股票的最佳时机含冷冻期 题目链接:309. 买卖股票的最佳时机含冷冻期 - 力扣(LeetCode) 题目思路: 这题其实就是将卖出的状态拆分成三个状态 1.前两天就卖出并一直保持卖出的状态 2.今天卖出的状态 3.今天是冷冻期的状态 当然还有一个…

积极应对云网络安全

以下是 IT 领导者需要了解的内容,才能在云网络安全方面占据上风。 如果您的组织尚未主动解决云网络安全问题,则将面临灾难的风险。等待攻击发生根本没有意义。 主动云安全会采取积极措施来发现潜在威胁并在网络攻击发生之前阻止网络攻击。 这是通过持…

C++学习---信号处理机制、中断、异步环境

文章目录 前言信号处理signal()函数关于异步环境 信号处理函数示例raise()函数 前言 信号处理 关于信号,信号是一种进程间通信的机制,用于在程序执行过程中通知进程发生了一些事件。在Unix和类Unix系统中,信号是一种异步通知机制&#xff0c…

Azure 机器学习 - 如何使用模板创建安全工作区

目录 先决条件了解模板配置模板连接到工作区疑难解答错误:Windows 计算机名的长度不能超过 15 个字符,并且不能全为数字或包含以下字符 本教程介绍如何使用 [Microsoft Bicep]和 [Hashicorp Terraform]模板创建以下 Azure 资源: Azure 虚拟网…

Netty - 回顾Netty高性能原理和框架架构解析

文章目录 概述JDK 原生 NIO 程序的问题Why Netty使用场景Related ProjectsNetty 高性能设计I/O 模型【阻塞 I/O】:【I/O 复用模型】【基于 Buffer】 线程模型事件驱动模型Reactor 线程模型Netty的线程模型异步处理 Netty框架的架构设计功能特性模块组件Bootstrap、S…

新方向!文心一言X具身智能,用LLM大模型驱动智能小车

具身智能已成为近年来研究的热点领域之一。具身智能强调将智能体与实体环境相结合,通过智能体与环境的交互,来感知和理解世界,最终实现在真实环境中的自主决策和运动控制。 如何基于文心大模型,低成本入门“具身智能”&#xff0…

数据管理系统-week1-文件系统、数据库和数据库管理系统

文章目录 前言一、 文件系统文件系统的限制 二、 数据库系统三、 数据库管理系统参考文献 前言 一、 文件系统 对于更高级的数据处理应用程序来说,基于数据块的持久存储逻辑模型过于简单数据块序列被划分为称为文件的数据块的可变子序列,与文件相关的名…

Flutter笔记 - 关于 fit 属性以及相关知识的总结

Flutter笔记 关于 fit 属性以及相关知识的总结 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/13434451…

C语言--每日五道选择题--Day8

第一题 1、下列程序的输出是&#xff08; &#xff09; #include<stdio.h> int main() {int a[12] {1,2,3,4,5,6,7,8,9,10,11,12};int *p[4];int i;for(i0;i<4;i){p[i]&a[i*3];}printf("%d\n"&#xff0c;p[3][2]);return 0; } A: 上述程序有错误 B: 6…

docker-compose安装es以及ik分词同义词插件

目录 1 前言 2 集成利器Docker 2.1 Docker环境安装 2.1.1 环境检查 2.1.2 在线安装 2.1.3 离线安装 2.2 Docker-Compose的安装 2.2.1 概念简介 2.2.2 安装步骤 2.2.2.1 二进制文件安装 2.2.2.2 离线安装 2.2.2.3 yum安装 3 一键安装ES及Kibana 3.1 yml文件的编写…

Linux编辑器---vim的使用

Vim是一个高度可配置的文本编辑器&#xff0c;它是操作Linux的一款利器&#xff0c;旨在高效地创建和更改任何类型的文本。这款编辑器起源于"vi"&#xff0c;并在此基础上发展出了众多新的特性。Vim被普遍推崇为类Vi编辑器中最好的一个&#xff0c;事实上真正的劲敌来…