人物血条的制作_unity基础开发教程

人物血条的制作

  • 场景创建
  • 导入素材
  • 血条制作
  • 血量控制代码部分

场景创建

随便创建一个地板一个胶囊体,搭建一个简易的场景,我这里就继续使用前面文章创建的场景

在这里插入图片描述

导入素材

  1. 在unity编辑器中选择Window,点击Asset Store
    在这里插入图片描述
  2. 点击Search online
    在这里插入图片描述
  3. 在搜索栏FREE UI
    选择Simple Free Pixel art style…
    点击添加到我的资源
    (弹出窗口点击接收)
    在这里插入图片描述
  4. 添加完成之后,这里有两种方式,先说一下第一种方式:
    1.在unity编辑器中,选择Window,点击Package Manager;
    这里用第二种方法,比较简单;
    2.在弹出的对话框直接点击在Unity中打开
    在这里插入图片描述
    然后点击打开
    在这里插入图片描述
  5. 两种方式调出Package Manager窗口之后
    在搜索框搜索Simple
    选择Simple Free Pixel art styled UI pack
    点击Download
    在这里插入图片描述
    点击Import
    在这里插入图片描述
    点击Import
    在这里插入图片描述
    然后素材就导入完成了
    在这里插入图片描述

血条制作

  1. 在Hierarchy窗口右键,选择UI,点击Image,并命名healthBar
    并将Canvas命名为Health
    在这里插入图片描述
    然后再选中Health,再创建一个Image,并命名healthFill
    在这里插入图片描述
    整体
    在这里插入图片描述
  2. 选中Health,并将Inspector窗口中的Render Mode属性更改为World Space
    在这里插入图片描述
    并将摄像机Main Camera挂载到Event Camera
    在这里插入图片描述
  3. 选中healthBar和healthFill,将两者的Anchor Presets都改为stretch,
    (注意:按住Alt键的同时,那个九宫格的东西会变化,然后在变化的状态下点击最右下角的那个图标)
    在这里插入图片描述
  4. 选中Health,拖到Player里,成为Player的子物体;
    并且按照下面的图片修改Health的大小和位置(这里我已经调试好了,也可自行调整)
    PosX:0 PosY:2 PosZ:0
    Width:1 Health:0.1
    在这里插入图片描述
  5. 同时选中healthBar和healthFill;
    将前面素材里面的health_bar图片拖到两个物体的Source Image属性栏
    在这里插入图片描述
  6. 选中healthFill;
    将Inspector监视器窗口中的Color改为红色;
    Image Type改为Filled
    Fill Method改为Horizontal
    Fill Origin改为Left(默认就是Left)
    在这里插入图片描述
    到这里血条就制作好了,

下面就是代码部分,由于篇幅问题,这里只做简单的血量增加和减少的效果,不做受到攻击和恢复的实际场景;


实际游戏场景中的血量增加与恢复涉及到的物体代码相对复杂,后续文章会讲解

血量控制代码部分

  1. 在资源窗口创见一个Script文件夹(管理代码文件,养成良好的归纳习惯);
    创建一个C#脚本文件,命名Blood Manager
    在这里插入图片描述
  2. 双击打开代码文件,键入下面代码,然后保存
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class BloodManager : MonoBehaviour
{
    Image image;
    [SerializeField]float currentBlood = 1f;
    [SerializeField] float targetBlood = 1f;
    [SerializeField] Color bloodColor = Color.red;
    [SerializeField] float bloodMoveSpeed;
    // Start is called before the first frame update
    void Start()
    {
        image = GetComponent<Image>();
        image.color = bloodColor;
        image.fillAmount = currentBlood;
    }

    // Update is called once per frame
    void Update()
    {
        checkedKey();
        if (currentBlood != targetBlood)
        {
            currentBlood = Mathf.Lerp(currentBlood,targetBlood,bloodMoveSpeed*Time.deltaTime);
            image.fillAmount = currentBlood;
        }
    }

    private void checkedKey()
    {
        if (Input.anyKeyDown)
        {
            if (Input.GetKeyDown(KeyCode.J))
            {
                targetBlood = 0.2f;
            }
            else
            {
                if (Input.GetKeyDown(KeyCode.K))
                {
                    targetBlood = 0.8f;
                }
            }
        }
    }
}

  1. 将Blood Manager代码文件,挂载到healthFill
    在这里插入图片描述
    你可能好奇另一个代码文件是啥,这是另一篇文章里讲的,想了解的话请移步我的另一篇文章
    AI Navigation导航系统_unity基础开发教程

到这里就完成了,可以运行看看效果,

J键是减血;
K键是加血;


需要注意
运行前别忘了修改Bolld Move Speed的值(不然按键是没有反应的),这里建议改为2,也可以根据自己的需求自行修改

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Course1-Week1:机器学习简介

Course1-Week1&#xff1a;机器学习简介 文章目录 Course1-Week1&#xff1a;机器学习简介1. 课程简介1.1 课程大纲1.2 Optional Lab的使用 (Jupyter Notebooks)1.3 欢迎参加《机器学习》课程 2. 机器学习简介2.1 机器学习定义2.2 有监督学习2.3 无监督学习 3. 线性回归模型3.1…

垂直领域生成式AI模型的矿业应用

快速发展的人工智能 (AI) 领域正在出现一种新范式&#xff1a;更小的、垂直的生成式 AI 模型。 这种方法不同于旨在解决许多问题的传统横向模型。 相反&#xff0c;它开发专门的人工智能模型来解决特定行业或垂直领域的问题。 垂直导向的生成式AI模型迎合特定行业&#xff0c;提…

【nlp】3.2 Transformer论文复现:1. 输入部分(文本嵌入层和位置编码器)

Transformer论文复现:输入部分(文本嵌入层和位置编码器) 1 输入复现1.1 文本嵌入层1.1.1 文本嵌入层的作用1.1.2 文本嵌入层的代码实现1.1.3 文本嵌入层中的注意事项1.2 位置编码器1.2.1 位置编码器的作用1.2.2 位置编码器的代码实现1.2.3 位置编码器中的注意事项1 输入复现…

上海 · 得物技术沙龙-「项目管理」专场报名开启!

随着业务的快速发展以及资源规模的增长&#xff0c;项目管理也需要根据团队规模及不同阶段的特点及时做好调整及应对。PMO/项目经理承担着资源使用、项目进度、团队协作等相关管理工作&#xff0c;过程的成功与否也决定着团队交付目标是否达成&#xff0c;结果是否符合预期。本…

应用带通滤波器进行划痕检测

案例要求&#xff1a; 图为HALCON中的例图“surface_scratch”&#xff0c;请提取出图中的划痕。 案例分析&#xff1a; 图中明亮程度不一&#xff0c;划痕颜色较淡&#xff0c;因此不能用灰度BLOB分析的方法提取出目标区域。因此&#xff0c;先构造一个带通滤波器&#xff0…

企业计算机服务器中了locked勒索病毒怎么办,勒索病毒解密恢复

计算机网络为企业的生产生活提供了极大帮助&#xff0c;让企业逐步走向数字化办公&#xff0c;但随之而来的网络安全威胁也不断增多&#xff0c;网络勒索病毒病毒攻击企业计算机的事件频发&#xff0c;并且攻击加密手段也在不断提升。近期&#xff0c;云天数据恢复中心再次接到…

抖音商城小程序源码系统 附带完整的搭建教程

大家好啊&#xff0c;今天小编来给大家分享一款抖音商城小程序源码系统。这可是当下最热门的的项目之一。。抖音作为国内最大的短视频平台之一&#xff0c;拥有庞大的用户群体和丰富的社交功能。为了满足用户在抖音上购物和交易的需求&#xff0c;抖音商城小程序应运而生。 以…

编程世界中的不可思议任务

在这个以代码为生命的职场里&#xff0c;遇到过形形色色的人物。让我印象最深的&#xff0c;当属那位对技术一窍不通&#xff0c;却对代码指手画脚的“极客”领导。他将编程的艺术视为一种神秘的巫术&#xff0c;经常提出些看似高大上&#xff0c;实则荒诞不经的要求。 那是一个…

什么软件可以做报表?

报表在现代企业和组织中扮演着重要角色。它们是数据汇总、分析和展示的重要工具&#xff0c;为管理层和决策者提供洞察和指导。但是&#xff0c;报表的制作并非易事。使用Excel或手写代码开发报表可能会带来一系列痛点&#xff0c;而现代化的解决方案——比如VeryReport报表软件…

Windows下安装Anaconda3并使用JupyterNoteBook

下载安装包 Anaconda官网 进官网&#xff0c;点击下载 自动根据当前系统下载对应的包了&#xff0c;安装包大约1G&#xff0c;喝杯Java耐心等待。 安装 很多人安装C盘&#xff0c;我这里放D盘。 注意&#xff1a;你的文件夹目录一定要不能有空格 然后其他的直接默认install即…

Ubuntu18 Opencv3.4.12 viz 3D显示安装、编译、使用、移植

Opencv3.*主模块默认包括两个3D库 calib3d用于相机校准和三维重建 &#xff0c;viz用于三维图像显示&#xff0c;其中viz是cmake选配。 参考&#xff1a; https://docs.opencv.org/3.4.12/index.html 下载linux版本的源码 sources。 查看cmake apt list --installed | grep…

VMware 系列:ESXI6.7升级7.0

ESXI6.7升级7.0 一、下载补丁二、上传文件三 启用Shell四、登录Shell后台五、删除不兼容驱动六、正常升级最近,将一台使用ESXI6.7的虚拟机升级到了7.0版本,下面记录一下自己的升级过程。 升级条件 首先确保硬件是否能升级到7.0版本,物理网卡驱动为e1000e不能升级,如果是ig…

Pycharm设置文件头部声明注释

设置头部声明 英文版&#xff1a;点击file-->settings-->editor-->file and code templates-->选择Python Script 中文版如下&#xff1a; 复制如下内容 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2023/11/23 10:05 # Author : wyq # File …

HarmonyOS ArkTS 保存应用数据(十)

1 概述 在移动互联网蓬勃发展的今天&#xff0c;移动应用给我们生活带来了极大的便利&#xff0c;这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置&#xff0c;HarmonyOS应用开发也不例外。 2 什么是首选项 首选项为应用提供Key-Value键…

BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统

BTS-GAN: Computer-aided segmentation system for breast tumor using MRI and conditional adversarial networks BTS-GAN&#xff1a;基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统背景贡献实验方法Parallel dilated convolution module&#xff08;并行扩展卷积模块…

C语言运算符详解

详细介绍了C语言表达式、算术运算符、赋值运算符、关系运算符、条件结构、逻辑运算符、位运算符的语法和使用方法&#xff0c;并讨论了运算符的优先级。 1、表达式与算术运算符 在C语言中&#xff0c;表达式是一个类似数学中的算式&#xff0c;表达式由变量、字面值、常量、运…

小黑子—Maven高级

Maven高级篇 二 小黑子的Maven高级篇学习1. 分模块开发1.1 分模块开发设计1.2 分模块开发实现1.2.1 抽取domain层1.2.2 抽取dao层 2. 依赖管理2.1 依赖传递2.2 可选依赖2.3 排除依赖 3. 继承与聚合3.1 聚合3.2 继承3.3 总结 4. 属性4.1 配置文件加载属性4.2 版本管理 5. 多环境…

基于C#实现优先队列

一、堆结构 1.1性质 堆是一种很松散的序结构树&#xff0c;只保存了父节点和孩子节点的大小关系&#xff0c;并不规定左右孩子的大小&#xff0c;不像排序树那样严格&#xff0c;又因为堆是一种完全二叉树&#xff0c;设节点为 i,则 i/2 是 i 的父节点&#xff0c;2i 是 i 的…

张弛声音变现课,如何为偶像剧配音?

在为偶像剧进行配音工作时&#xff0c;配音员应当捕捉剧中角色的年轻活力、浪漫的爱情故事以及轻快的生活节奏。偶像剧主要讲述的是青春的爱恋、友谊和梦想追求&#xff0c;因此配音需要传递出剧中的真诚和活泼。为偶像剧配音可以考虑以下几点建议&#xff1a; 鲜明活泼的声音 …