麦扣 3DRPG游戏开发教程 19-21集

麦扣 3DRPG游戏开发教程 19-21集

🎮

19 GameManager 泛型单例

泛型创建的方法

1
public class Singleton<T> : MonoBehaviour where T : Singleton<T>

大概是不需要一个一个创建单例,可以.这样的调用,非常方便


生命周期函数之 onenable /ondisenable

1
2
3
4
5
6
7
8
9
private void OnEnable()
{

}

private void OnDisable()
{

}

这两个方法是在gameObject被设置为active true和 false的时候调用的
一般来说,我们添加委托或者事件的一对方法是放在onEnable和OnDisable当中的
所以这样的委托或者事件应该不对gameObject本身的active进行处理


20 有一些BUG

我倒着找寻了到底哪里错了 仍然没有找到,最后的解决办法是

在玩家死亡后的函数检测里 使用标签寻找到 史莱姆的动画组件 然后更改其条件 😓

1
2
3
4
5
6
7
8
if (isDead)
{
GameManager.Instance.NotifyObservers();
slimeAnimator = GameObject.Find("Slime").GetComponent<Animator>();
slimeAnimator.SetBool("CheckDead",true);
slimeAnimator.SetBool("Win",true);

}

21 制作更多的敌人

之前的问题都得到了解决

就是怪物应该一开始不能存在 在场景生成之时同期加载怪物 这个时候就可以完美执行了


怪物 scriptObject模板数据不共享

slime弄一个模板数据,两个都设置一下

(就是弄一个数据模板,当怪物生成时候复制一份,这样不会修改源文件)


披甲龙龟

首先在prefabs内找到龙龟,拖拽到hierarchy

添加了组件、数据和史莱姆一样,动画方面是直接复制史莱姆的一个动画animator,然后更改对应的动画文件

(另外的一个小技巧:创建一个animator override controller)


导入新的素材 然后放到地图
我从商店里下载好素材,整理好文件夹,然后升级一下渲染管线(edit👉 render pipline 👉整个project)

麦扣 3DRPG游戏开发教程 19-21集

https://www.llbwy.com/2022/10/18/b站m_studio3drpg19-21/

作者

发布于

2022-10-18

更新于

2022-10-31

许可协议