2D Game Kit 是Unity官方的插件包之一,它能够使你不用编写代码,便能创造出属于自己的第一个(2D平台)游戏。
Unity 2D Game Kit
https://www.zhihu.com/video/1020834707180724224
这个暑假我阅读了其源代码,理解了大部分逻辑(剩下的均为Unity编辑器相关),因为我自认为该框架设计理念比较优秀,所以就想为其写点什么东西,正好可以巩固自己的所学,二来也是将自己所学的知识进行分享。
解析主要分为两大阶段:
第一阶段大致的内容均来自官方文档2D Game Kit - Unity,主要是对其的翻译再加上一些自己的理解(该阶段内容是对框架主要功能的概述,以及如何通过一些简单的操作来搭建自己的2D平台游戏)
第二阶段的内容则是我站在开发者的角度,一步一步的解析源代码及相关逻辑的实现,最终能够熟悉整个2D Game Kit框架,掌握许多游戏开发的知识。
在 Hierarchy 窗口中,选中 TransitionStart 对象在 Inspector 窗口中,找到 TransitionPoint 组件将 Hierarchy 窗口中的对象 Ellen 拖动到 Transition Point 组件下的 Transitioning Game Object 槽将 Transition Type 设置为 Same Scene
上述操作确保了只有Ellen能够使用该传送点,且传送点类型为关卡内传送。
下面开始设置目的地:
将 Hierarchy 窗口中的TransitionEnd 对象拖动到 TransitionPoint 组件的DestinationTransform 槽设置 Transition When 为 On Trigger Enter
On Trigger Enter 表示当且仅当Ellen接触传送点的触发器时,才会执行传送,如果你想要追加设置为按下交互键执行传送,那么将 Transition When 设置为 Interact Pressed。
不同场景之间的传送:
为了让角色能够在不同场景间进行传送,我们需要设置两个预设:
TransitionStart 预设与上一部分的完全相同,它将角色传送到相应的目的地,它包含一个Transition Point 组件,该组件定义了Start点位所有的属性以及传送的目的地,将这个预设放置在你想要放置的地方吧。TransitionDestination 则是一个"接收"角色的预设,它包含一个 Transition Destination 组件,将其放置在你想要作为传送目的地的场景中。
首先,设置 Destination Tag 的字母,具体是哪个字母不重要,只要保证场景中标识为该字母的组件是唯一的。其次,告诉它将要接收的对象是什么类型的,在这里,我们将 Hierarchy 中的 Ellen 对象拖到Transitioning Game Object 槽中最后,保证该场景在你的 Build Settings 内,通过打开顶部菜单栏 File > Build Settings,点击 Add Open Scenes 可以完成这个步骤
设置 TransitionStart:
这些设置大多与前面那个部分相同,但是有一些小变化:
将 Transition Type 设置为 Different Level将 New Scene Name 设置为传送目的地所在的场景将 Transition Destination Tag 与 Transition Destination Component 组件的Transition Destination Tag 所匹配