回顾上一篇
场景的实例化是很方便的,通过场景的实例化:
- 能够更细致的分割场景并且更方便的管理场景
- 更灵活的定制场景
- 可以处理更复杂的游戏流程和界面UI的设计
但
实例化
场景
真正
强大的一点是,
它作为一个
优秀的设计
语言
。这是godot最突出的特点。godot的全部设计都是围绕这个概念展开的。
当使用godot开发游戏时,可以撇开其他的设计模式(MVC,实体关系图)。
以最自然的思维方式来思考游戏的设计。开始想象游戏中的可见元素,这一点即使不是程序员也能做到。例如,可以想象一个简单的
射击游戏中的可见元素:
![](https://i-blog.csdnimg.cn/blog_migrate/8a91441362c34d6fe64877afb048449c.png)
通过这张图十分容易的构建出来,只需要记录下思考过程中出现的可见元素,然后再用方向箭头描述出它们之间的关系。一旦这个图
构建出来,制作游戏就是按照这张图为每一个场景创建需要的节点,并且可以将场景实例化作为一个节点树来使用。并按照方向箭头
标示的关系,来组织这些节点。
大部分游戏开发(包括常规软件)的时间大都花费在了体系结构的设计和适合体系结构的组件的设计上,基于场景的设计模式可以把
精力全部放在游戏本身上,而不必过多的顾虑体系结构的问题。场景/实例的设计是非常有效的,节省了很大一部分工作。由于大多数设计
都直接映射到一个场景组件,因此不需要编写体系结构的代码。
接下来看一个更加复杂的游戏结构图:
![](https://i-blog.csdnimg.cn/blog_migrate/6bd0f7dc4341c1a1fa299465823116c7.png)
按图所示,用家具狗成了room,用room和相关场景构成了house,然后用house和相关场景构成了citadel,最终citadel(城堡)出现在世界地图上,然后可以给城堡添加NPC等通过使用之前创建的场景。随着游戏的开发进度,越多的场景被制作,开发也就越容易,因为你可以有更多的scene来使用。而且godot的编辑器即使没有编程经验的人也可以很方便的使用,在一个开发团队中涉及到2d或3d的美工,等级设计,游戏设计,动画等,都可以使用godot编辑器工作。