定义你都理解了那就好办了。
我举个例子:开发游戏的时候,表示数字的时候都很好看吧,比方说很多字体补丁包啊,数字多彩补丁包啊等等,
一个人物比如说有上万的血量(五位数),那你不能把所有的人物可能拥有的血量都排列组合出来搞几万张好看的数字图片吧,
这样也不效率,也不实际,那么就用享元模式吧,把10个阿拉伯数字拆开成0-9十张图片存起来,用这十张图组合来表示这个五位数,
比如,血量需要运算,假设血量是int型26584,程序(或方法)会把这个int型的数据转换成单个的"2","6","5","8","4",然后去图片库分别找这几个数对应的图片
然后在屏幕上显示出来,比方说一个图片大小是20*20,那么现实的时候就是2对应的图片显示在(X,Y)位置,6对应的图片显示在(X+20,Y)的位置,这样依次显示5张图
给我们的感觉就是连续的完整的图片来表示血量就可以了。当被攻击血少的时候也是通过运算之后,再把int型血量数据按照上边的方法表示出来就行了,
这就解决了用十张图片解决表示上万种可能血量的方法了。不知道说的和你问的是一个问题不。 |