
游戏常见设计模式
文章平均质量分 59
游戏开发模式学习
嘟@嘟@嘟
这个作者很懒,什么都没留下…
展开
-
游戏设计模式:桥接模式
何为桥接模式,桥接模式是GOF的23种设计模式中,最常应用的但也是最难理解的。该设计模式的关键思想是“抽象与实现分离”,使二者可以独立的变化。很多人最浅的理解是,这是只依赖了接口而不依赖实现,也就是定义了一个接口类,然后将实现的部分全部在子类去重写,下面让我们看看这样写会有什么问题。假设现在有一个需求:我们要实现一个3D绘图工具,并且要支持Opengl和DirectX。首先,定义球体这个类和两个绘图引擎。球类是一个抽象类,公开了draw函数。原创 2023-09-03 21:23:27 · 105 阅读 · 0 评论 -
Facade(外观模式)
举个例子:汽车包含非常多的系统:引擎系统、传动系统、车身骨架系统、电装系统。对于驾驶员而言,并不要了解这些系统的如何协调工作,驾驶员只需要通过高级接口(方向盘、踏板、仪表盘)即可操控汽车。因此外观模式的重点在于:隐藏系统间的互动细节,提供简单的接口。下图是外观系统的示意图。一款游戏通常包含了不同的子系统。假如战斗场景运行中,需要多个系统合作完成,简单的实现:将多个子系统的代码放在BattleScene之中。这样,每当游戏多增一个系统的时候,只需要在GameSystemMgr添加即可,并且不需要公布细节。原创 2023-08-07 21:45:54 · 122 阅读 · 1 评论 -
状态模式复习
在游戏开发中,经常涉及到场景的转换,从本质上来说,场景的转换非常类似舞台剧。ok,这样简单粗暴的解决了问题,场景很少很简单,当然是没问题的。但有以下缺点:只要增加一个新的场景,就意味着change_scene函数和update_scene函数都需要加入对应的代码。每一个场景类继承的父类可能不同,容易造成SceneManager过度依赖其他类。为了解决这个问题,使用状态模式来解决,状态模式除了能解决场景切换的问题,其实当我们玩英雄联盟,接触豹女和杰斯,同理,也是这样的一个情况。原创 2023-07-31 23:51:58 · 114 阅读 · 0 评论