区块链技术博客
www.b2bchain.cn

Unity 游戏框架搭建 2019 (五十九) LevelManager(SceneManager)求职学习资料

本文介绍了Unity 游戏框架搭建 2019 (五十九) LevelManager(SceneManager)求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

Unity 里面提供了一个非常直观的 API 叫做 LoadLevel(现在是 LoadScene),大家可能都在用,那么这个 API 非常的简单,但是它有很多的问题,第一问题就是说我们这个 API 它支持传两种参数,第一个是传入场景的名字,另一个是传入场景的 Index,那么如果你按照这种方式写你的 Game 的时候,一开始看起来没问题,前十个关卡 Load 一下都没什么问题,当你写到三十个五十个的时候,如果你想改一个名字,那么灾难来了,这个时候你要满工程里面去寻找你的代码,然后呢,这个名字改掉,就是要改很多地方,才能够最终达到你要修改的目的,那么这个 Index 就更可怕了,到底谁是第三个关卡,第五个关卡,我还把顺序 变一下怎么办?

还有,如果我现在创建了 50 个关卡,其中 第 30 个到底到第 33 个我很可能是复用了一个场景,但是可能在场景之间可能稍微有些不同,比方说出现的怪物会稍微的有些不同,在这种情况下我们自然而然的想到我们能不能在 Load 一个关卡的时候,带上一些参数,这个参数告诉你之后,你能不能跟上一关稍微有点变化,那还有另外一个问题,假设我这个游戏只有三个关卡 123,假设我突然有一天想要对调一下, 132 这样试一下,或者有一个正式的版本是123,但是今天有领导来,我临时想展示两个关卡,我不想展示第三个关卡,因为第三个关卡我还没有做完,我不想给他看,我只想展示第一个第二个,那是不是就以为我们需要对整个这样一个游戏流程做一个配置,那么我们传统中都没有一个这样的机制,那么我们说自然而然我们希望自己去写一个 LeveManager,这个想法有了之后,做法就非常简单。

我们写一个配置表,把所有的 Level 一个一个填进去,当我们需要变顺序的时候,就在这个表里变一下,那么相应的可能要对你的 API 做一些相应的变化,我们 LoadLevel 1 2 3 4 5 或 FirstLevel,SecondLevel 变成是 LoadNext,简简单单一个变化,那么你以后在所有的关卡 Load 的时候,我就不用再去关心上一个下一个到底是什么东西,我只需要在你的配置表里排好顺序,LoadNext,LoadNext,那么我们说这个 LevelManager 就设计成功了。
Unity 游戏框架搭建 2019 (五十九) LevelManager(SceneManager)

那么接下来第二点,我们说参数,有了这个 Configurations Table 这个配置表之后,我们可以接下来给每一个关卡都添加一些参数,那么这个时候我们能拿到这个配置表的参数,然后就可以对我们每一个关卡做一些区分,所以这个问题大家也能够非常的清楚了解。

Unity 里面提供了一个非常直观的 API 叫做 LoadLevel(现在是 LoadScene),大家可能都在用,那么这个 API 非常的简单,但是它有很多的问题,第一问题就是说我们这个 API 它支持传两种参数,第一个是传入场景的名字,另一个是传入场景的 Index,那么如果你按照这种方式写你的 Game 的时候,一开始看起来没问题,前十个关卡 Load 一下都没什么问题,当你写到三十个五十个的时候,如果你想改一个名字,那么灾难来了,这个时候你要满工程里面去寻找你的代码,然后呢,这个名字改掉,就是要改很多地方,才能够最终达到你要修改的目的,那么这个 Index 就更可怕了,到底谁是第三个关卡,第五个关卡,我还把顺序 变一下怎么办?

还有,如果我现在创建了 50 个关卡,其中 第 30 个到底到第 33 个我很可能是复用了一个场景,但是可能在场景之间可能稍微有些不同,比方说出现的怪物会稍微的有些不同,在这种情况下我们自然而然的想到我们能不能在 Load 一个关卡的时候,带上一些参数,这个参数告诉你之后,你能不能跟上一关稍微有点变化,那还有另外一个问题,假设我这个游戏只有三个关卡 123,假设我突然有一天想要对调一下, 132 这样试一下,或者有一个正式的版本是123,但是今天有领导来,我临时想展示两个关卡,我不想展示第三个关卡,因为第三个关卡我还没有做完,我不想给他看,我只想展示第一个第二个,那是不是就以为我们需要对整个这样一个游戏流程做一个配置,那么我们传统中都没有一个这样的机制,那么我们说自然而然我们希望自己去写一个 LeveManager,这个想法有了之后,做法就非常简单。

我们写一个配置表,把所有的 Level 一个一个填进去,当我们需要变顺序的时候,就在这个表里变一下,那么相应的可能要对你的 API 做一些相应的变化,我们 LoadLevel 1 2 3 4 5 或 FirstLevel,SecondLevel 变成是 LoadNext,简简单单一个变化,那么你以后在所有的关卡 Load 的时候,我就不用再去关心上一个下一个到底是什么东西,我只需要在你的配置表里排好顺序,LoadNext,LoadNext,那么我们说这个 LevelManager 就设计成功了。
Unity 游戏框架搭建 2019 (五十九) LevelManager(SceneManager)

那么接下来第二点,我们说参数,有了这个 Configurations Table 这个配置表之后,我们可以接下来给每一个关卡都添加一些参数,那么这个时候我们能拿到这个配置表的参数,然后就可以对我们每一个关卡做一些区分,所以这个问题大家也能够非常的清楚了解。

Unity 里面提供了一个非常直观的 API 叫做 LoadLevel(现在是 LoadScene),大家可能都在用,那么这个 API 非常的简单,但是它有很多的问题,第一问题就是说我们这个 API 它支持传两种参数,第一个是传入场景的名字,另一个是传入场景的 Index,那么如果你按照这种方式写你的 Game 的时候,一开始看起来没问题,前十个关卡 Load 一下都没什么问题,当你写到三十个五十个的时候,如果你想改一个名字,那么灾难来了,这个时候你要满工程里面去寻找你的代码,然后呢,这个名字改掉,就是要改很多地方,才能够最终达到你要修改的目的,那么这个 Index 就更可怕了,到底谁是第三个关卡,第五个关卡,我还把顺序 变一下怎么办?

还有,如果我现在创建了 50 个关卡,其中 第 30 个到底到第 33 个我很可能是复用了一个场景,但是可能在场景之间可能稍微有些不同,比方说出现的怪物会稍微的有些不同,在这种情况下我们自然而然的想到我们能不能在 Load 一个关卡的时候,带上一些参数,这个参数告诉你之后,你能不能跟上一关稍微有点变化,那还有另外一个问题,假设我这个游戏只有三个关卡 123,假设我突然有一天想要对调一下, 132 这样试一下,或者有一个正式的版本是123,但是今天有领导来,我临时想展示两个关卡,我不想展示第三个关卡,因为第三个关卡我还没有做完,我不想给他看,我只想展示第一个第二个,那是不是就以为我们需要对整个这样一个游戏流程做一个配置,那么我们传统中都没有一个这样的机制,那么我们说自然而然我们希望自己去写一个 LeveManager,这个想法有了之后,做法就非常简单。

我们写一个配置表,把所有的 Level 一个一个填进去,当我们需要变顺序的时候,就在这个表里变一下,那么相应的可能要对你的 API 做一些相应的变化,我们 LoadLevel 1 2 3 4 5 或 FirstLevel,SecondLevel 变成是 LoadNext,简简单单一个变化,那么你以后在所有的关卡 Load 的时候,我就不用再去关心上一个下一个到底是什么东西,我只需要在你的配置表里排好顺序,LoadNext,LoadNext,那么我们说这个 LevelManager 就设计成功了。
Unity 游戏框架搭建 2019 (五十九) LevelManager(SceneManager)

那么接下来第二点,我们说参数,有了这个 Configurations Table 这个配置表之后,我们可以接下来给每一个关卡都添加一些参数,那么这个时候我们能拿到这个配置表的参数,然后就可以对我们每一个关卡做一些区分,所以这个问题大家也能够非常的清楚了解。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Unity 游戏框架搭建 2019 (五十九) LevelManager(SceneManager)求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们