设计模式享元在游戏中的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式享元在游戏中的使用相关的知识,希望对你有一定的参考价值。

享元模式应该算是23个设计模式里面最难理解的了,个人觉得主要原因是四人帮的这个例子做的不好。

享元把一个对象分成内部状态和外部状态。

内部状态:不随外界环境改变而改变的共享部分。

外部状态:随着环境的改变而改变,不能够共享的状态。

如果内部数据相当大并且这样的对象比较多,享元减少的内存会相当可观的。

游戏场景中显示的大量对象,其中有一些对象具有相同的模型网格,但是他们的动画状态,纹理蒙皮,位置都不相同。可以把这些网格模型创建一份,然后各个角色对象对其引用作为内部状态,而各个角色对象保存自己的动画矩阵,纹理,模型矩阵作为外部状态。当角色状态变化的时候,只改变这些外部状态。渲染的时候再把模型网格和这些外部状态丢给VS。

以上是关于设计模式享元在游戏中的使用的主要内容,如果未能解决你的问题,请参考以下文章

(@WhiteTaken)设计模式学习——享元模式

享元模式

设计模式之享元模式与组合模式详解和应用

[工作中的设计模式]享元模式模式FlyWeight

设计模式-享元模式

结构篇-享元模式