人物血条的制作_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 updatevoid Start(){image = GetComponent<Image>();image.color = bloodColor;image.fillAmount = currentBlood;}// Update is called once per framevoid 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,也可以根据自己的需求自行修改

在这里插入图片描述

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

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

相关文章

CVE-2022-21661

简介 CVE-2022-21661是一个与WordPress相关的漏洞&#xff0c;涉及到SQL注入问题。该漏洞主要源于WordPress的WQ_Tax_Query类中的clean_query函数&#xff0c;可能允许攻击者通过控制传递给该函数的数据来控制生成的SQL查询&#xff0c;从而执行任意的SQL代码。 当WordPress的…

C语言运算符详解

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

Visual NLP:图像信息自动提取的未来

本文旨在以简单的方式解释 Visual NLP 的关键概念&#xff0c;让你了解 Visual NLP 的含义、它的用例是什么、如何使用它以及为什么它是构建自动提取管道的未来 。 NSDT在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在…

nvm切换版本之后npm用不了

原因是 nvm只给你安了对应的node没给你安装对应的node版本的npm 解决办法如下 1找到你安装的node版本号 然后去官网下载对应的版本包 这个网址就是node官网的版本列表 Index of /download/release/ 2下载后解压 把根目录这俩复制到自己的nvm安装目录下 还有那个node_modul…

SpringBoot+SSM项目实战 苍穹外卖(1)

目录 产品原型与技术选型后端环境搭建Git版本控制IDEA中运行sql脚本文件nginx反向代理和负载均衡完善登录功能 导入接口文档SwaggerSwagger常用注解 产品原型与技术选型 管理端原型图&#xff1a; 用户端原型图&#xff1a; 餐饮企业内部员工使用。 主要功能有: 模块描述登录…

租车系统开发/多功能租车平台微信小程序源码/汽车租赁系统源码/汽车租赁小程序系统

源码介绍&#xff1a; 多功能租车平台微信小程序源码&#xff0c;作为汽车租赁、摩托车租车平台系统源码&#xff0c;是小程序系统。基于微信小程序的汽车租赁系统源码。 开发环境及工具&#xff1a; 大等于jdk1.8&#xff0c;大于mysql5.5&#xff0c;idea&#xff08;eclip…

大数据机房迁移该按照什么步骤进行 |数据中心

前言&#xff1a; 机房搬迁不仅仅是把机房的设备迁移到新机房那么简单&#xff0c;而是要求网络系统的迁移和集中存储系统的迁移必须安全平稳&#xff0c;不能过长时间影响生产应用。表面上就是几个IT 民工的搬运&#xff0c;但实际是一项目高度集中的体力与脑力的综合项目。现…

启发式搜索算法-人工智能

第1关:评估函数和启发信息 第2关:A*搜索算法 class Array2D:"""说明:1.构造方法需要两个参数,即二维数组的 宽和高2.成员变量w和h是二维数组的宽和高3.使用:‘对象[x][y]’可以直接取到相应的值4.数组的默认值都是0"""def __init__(s…

信号功率放大器的工作原理和特点是什么

信号功率放大器是一种电子设备&#xff0c;用于将输入信号的功率进行放大&#xff0c;以达到所需的输出功率水平。它在各个领域中都有广泛的应用&#xff0c;包括音频放大器、射频放大器、激光功率放大器等。下面将详细介绍信号功率放大器的工作原理和特点。 工作原理&#xff…

Git使用基础总结(从小白到新手版)

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

Navicat 技术指引 | 适用于 GaussDB 的模型功能

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

【Proteus仿真】【51单片机】篮球比赛计分器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用声光报警模块、动态数码管模块、按键模块等。 主要功能&#xff1a; 系统运行后&#xff0c;数码管显示比赛时间和AB队得分&#xff1b;系统还未开…