本章项目成果展示
<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="ClxilURq-1725443588800" src="https://live.csdn.net/v/embed/422051"></iframe>我们打开上一篇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站视频项目演示《破碎纪元》
标签:脚本,召唤,坐骑,20,Image,callBtn,UI,界面 From: https://blog.csdn.net/weixin_69360830/article/details/141888978