游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4036|回复: 3

一个资源创建和管理的问题

[复制链接]

16

主题

31

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2011-8-8 17:13:00 | 显示全部楼层 |阅读模式

请问有现成的类似工厂模式的资源创建类吗,比如可以通过文件预定义和加载好所有需要用的图片资源,然后使用就象
HGP pic = Factory(PicID);

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2011-8-9 17:08:00 | 显示全部楼层

Re:一个资源创建和管理的问题

可使用HGPBufferHAC绑定HAC压缩包,然后通过HGPBuffer::Get函数取得图片

参见以下代码

                static HGPBufferHAC *BackPic=NULL;

                void InitDataBackground(HAC *hac)
                {
                        BackPic =new HGPBufferHAC(hac,12);
                }

                void ClearDataBackground()
                {
                SAFE_CLEAR(BackPic);
                }
               
                HGP *GetBackHGP(const String &filename)
                {
                        HGP *result=NULL;

                        BackPic->Get(filename,result);

                        return(result);
                }

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2011-8-10 07:39:00 | 显示全部楼层

Re:一个资源创建和管理的问题


BackPic =new HGPBufferHAC(hac,12);

意为使用hac这个指针所指向的HAC包,12表示这个HGPBUFFER中保持12个图片的缓冲区。

之后使用图片时,需要每次GetBackHGP(文件名)。在缓冲里的会直接返回,否则会加入缓冲,如缓冲已满会自动清除最久没有使用的。返回NULL表示失败!

但记住每次使用前都需要调用GetBackHGP,因为不能保证这张图片还在缓存当中。

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2011-8-11 18:09:00 | 显示全部楼层

Re:一个资源创建和管理的问题

很好,学习了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-12-22 09:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表