当前位置: 首页 > article >正文

项目02《游戏-13-开发》Unity3D

基于      项目02《游戏-12-开发》Unity3D      ,

任务 :宠物系统 及 人物头像血条

首先在主面板MainPanel预制体中新建一个Panel,

命名为PlayerInfo

新建Image,作为头像

新建Slider,作为血条

对Panel组件添加一个水平划分,

修改Slider1的长度与宽度,

在Slider1添加空父物体命名为Slider,

对Slider添加组件纵向对齐,

再复制一份Slider1命名为Slider2,

取消PlayerInfo组件水平对齐组件,调整子物体位置与长度,

对齐子物体添加图片及颜色,并将血条反向,

其填充颜色如下:

滑动Slider即可出现掉血状态,

离开预制体空间运行游戏,即可看见

如果想修改人物头像形状可以给Image图像添加一个空父物体,

然后对空父物体添加一个Mask 和 Image 添加Image形状图片可以改变子物体形状,

运行效果,左上角头像形状变为圆形:

接下来做一个陷阱,角色进入陷阱之后就会掉血,当血量为0就会播放死亡动画,并且扣血实现在UI面板上,

首先选中场景中一个物体作为陷阱,

添加一个碰撞器并设置好大小,

创建脚本Trap.cs陷阱,

双击Trap.cs脚本编写代码:

using UnityEngine;
public class Trap : MonoBehaviour{
    float damage = 3f;
    public Animator Anim { get; set; }
    void Awake(){
        Anim = GetComponent<Animator>();
    }
    void OnTriggerEnter(Collider other){
        Debug.Log("角色进入陷阱");
        if (other.CompareTag("Player")){
            Player player = other.GetComponent<Player>();
            if (player != null){
                if(player.Hp <= 0)
                    player.GetComponent<Animator>().SetTrigger("DeathTrigger");
                player.Hp -= damage;
            }
        }
    }
}
修改Living.cs脚本:该类为角色Player.cs的基类,

此外还需要在MainPanel面板上修改绑定代码:将MainPanel面板上的Slider血条数值恒等于人物当前血量即可:

此时Slider血条 ,陷阱Trap ,人物血量Hp 三者关联运行即可实现:

进入到陷阱触发器范围便实现角色扣血,当角色血量<=0播放死亡动画,

End.


http://www.kler.cn/news/234205.html

相关文章:

  • 在 Windows上恢复删除照片的 4 种有效方法
  • 初步探索Pyglet库:打造轻量级多媒体与游戏开发利器
  • 多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测
  • hexo 博客搭建以及踩雷总结
  • 面向对象编程:理解其核心概念与应用
  • linux上部署ftp服务
  • MongoDB聚合:$replaceWith
  • visual studio和cmake如何编译dlib库
  • 深入了解 MySQL 数值型函数
  • Linux文本三剑客(2)
  • 【前后端的那些事】2万字详解WebRTC + 入门demo代码解析
  • 发送get请求并且发送请求头(header),java实现
  • linux系统非关系型数据库redis
  • re:从0开始的CSS学习之路 10. 盒子模型的溢出
  • Python OCR 之旅:PaddleOCR 与 pytesseract 比较及应用
  • 02 动力云客之登陆界面
  • MySQL 的UI
  • vue+springboot前后端视频文件等的上传与展示(基于七牛云)
  • c语言的各类输出函数(带完善更新)
  • 数据分析基础之《pandas(6)—高级处理》
  • uniapp 本地存储的方式
  • 156基于Matlab的光纤陀螺随机噪声和信号
  • 「优选算法刷题」:数青蛙
  • 如何系统的自学Python?通义千问、讯飞星火、文心一言及ChatGPT的回答
  • 复习面经哦
  • effective c++ 笔记 条款13-18
  • 飞天使-k8s知识点14-kubernetes散装知识点3-Service与Ingress服务发现控制器
  • Python中使用multiprocessing模块创建进程
  • MYSQL笔记:约束条件
  • 算法||实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度