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

『功能项目』主角身旁召唤/隐藏坐骑【20】

本章项目成果展示

我们打开上一篇19坐骑UI搭建及脚本控制显/隐的项目,

本章要做的事情是在坐骑UI界面点击召唤及隐藏坐骑的功能

首先在外包中拖拽一个坐骑熊的预制体

完全解压缩

重命名为MountBear

在资源文件夹Resources下的/预制体文件夹Prefabs下新建坐骑文件夹Mounts

将坐骑熊拖拽进入Mounts文件夹中并在场景中删除

新建脚本:CallOrHideMount.cs

编写脚本:

using UnityEngine;
using UnityEngine.UI;
public class CallOrHideMount : MonoBehaviour{Button callBtn;GameObject mountPrefab;GameObject mountInstance;void Start(){mountPrefab = Resources.Load<GameObject>("Prefabs/Mounts/MountBear");callBtn = transform.Find("Image/Image/Image/CallBtnToMount").GetComponent<Button>(); ;callBtn.onClick.AddListener(OnCallButtonClick);}public void OnCallButtonClick(){if (mountInstance == null){mountInstance = Instantiate(mountPrefab,GameObject.FindWithTag("Player").transform.position + new Vector3(-2f, 0, -1f),Quaternion.identity);}else{if (GameObject.FindWithTag("Player").gameObject != null)Destroy(mountInstance);}}void OnDestroy(){Button callBtn = transform.Find("Image/Image/Image/CallBtnToMount").GetComponent<Button>();if (callBtn != null)callBtn.onClick.RemoveListener(OnCallButtonClick);}
}

修改脚本:UIManager.cs

不用挂在脚本即可实现功能

(原因是在UIManager.cs中当坐骑UI界面MountUI被激活时在坐骑UI界面对象身上利用AddComponent<>()函数增加了CallOrHideMount.cs脚本)

运行项目 - 点击召唤

再次点击召唤即取消

关闭背包界面仍有效果 在主角身旁召唤坐骑熊

本章主要做了坐骑UI界面的搭建及通过脚本控制坐骑UI界面的显示与隐藏

接下来还需做以下内容:

1.乘坐坐骑150%加速效果

2.目标点巡航功能

3.隐藏怪物的生成

4.怪物I攻击范围内的主动攻击

5.掉落坐骑蛋的获取

6.异步传送转换场景

7.主城的Npc对话功能

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Chrome 浏览器:现代网络浏览的先锋
  • 满誉而归 | 2024物联网IOTE展·人工智能AGIC展完美收官
  • B-smooth 数
  • mysql Deadlock found when trying to get lock; try restarting transaction
  • dp练习【4】
  • C语言刷题日记(附详解)(4)
  • 【机器学习-神经网络】卷积神经网络
  • Hadoop常用命令
  • 2022 年高教社杯全国大学生数学建模竞赛-C 题 古代玻璃制品的成分分析与鉴别详解+分类模型Python代码源码
  • 【知识点】图论续篇 - 最短路算法合集
  • A02、Java编程性能调优(02)
  • 论文速读|重新审视奖励设计与评估:用于强健人型机器人站立与行走控制的方法
  • 设计模式学习-简单的命令模式例子
  • AI科学家:自动化科研的未来之路
  • S3C2440开发板:时钟,PWM定时器控制蜂鸣器发声
  • Android单元测试 - 几个重要问题
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Codepen 每日精选(2018-3-25)
  • CSS 三角实现
  • Fundebug计费标准解释:事件数是如何定义的?
  • iOS 颜色设置看我就够了
  • maya建模与骨骼动画快速实现人工鱼
  • mysql常用命令汇总
  • Node 版本管理
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • 闭包,sync使用细节
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 使用Swoole加速Laravel(正式环境中)
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 我看到的前端
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #define与typedef区别
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (Qt) 默认QtWidget应用包含什么?
  • (三) diretfbrc详解
  • (一)Docker基本介绍
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)基于IDEA的JAVA基础12
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 通过系统影子账户实现权限维持
  • .NET处理HTTP请求
  • .NET性能优化(文摘)
  • @Bean注解详解