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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/zhangshuliai/p/7616271.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值