劍孤寒的小站
人生的價值不是用時間,而是用深度去衡量的!
posts - 75, comments - 290, trackbacks - 0, articles - 0
導(dǎo)航
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
<
2016年11月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
留言簿
(15)
給我留言
查看公開留言
查看私人留言
隨筆分類
Galaxy2D 游戲引擎發(fā)布(40)
Galaxy2D 游戲引擎教程(7)
Galaxy2D 游戲引擎擴(kuò)展(8)
Lua(5)
游戲編程(20)
隨筆檔案
2017年3月 (1)
2017年1月 (1)
2016年11月 (1)
2016年3月 (1)
2015年11月 (1)
2015年8月 (1)
2015年7月 (1)
2015年6月 (1)
2014年9月 (1)
2014年8月 (1)
2014年3月 (1)
2014年1月 (1)
2013年9月 (1)
2013年7月 (2)
2013年6月 (3)
2013年5月 (1)
2013年4月 (2)
2012年12月 (2)
2012年10月 (1)
2012年9月 (2)
2012年7月 (1)
2011年12月 (1)
2011年10月 (3)
2011年9月 (4)
2011年7月 (1)
2011年6月 (1)
2011年5月 (2)
2011年4月 (1)
2010年9月 (1)
2010年5月 (3)
2010年4月 (2)
2010年3月 (1)
2010年2月 (2)
2010年1月 (11)
2009年9月 (3)
2009年5月 (2)
2009年4月 (1)
2009年1月 (1)
2008年12月 (1)
2008年11月 (1)
2008年10月 (6)
鏈接
搜索
最新評論
1.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--劍孤寒
2.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
Update:
◆隨機(jī)數(shù)添加創(chuàng)建生成器函數(shù)
◆隨機(jī)數(shù)添加Mersenne Twister算法隨機(jī)數(shù)生成函數(shù)
◆修改獲得/失去焦點(diǎn)偶爾收不到回調(diào)的bug
--劍孤寒
3.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--wwdd
4.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
Update (2016-8-1)
◆RichText超鏈接修改為抬起時才觸發(fā)事件
◆Shader添加讀取已編譯的二進(jìn)制文件支持,并添加相關(guān)數(shù)據(jù)設(shè)置接口
--劍孤寒
5.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
@baidwwy
你是一直都這樣還是用了上面那個dll才這樣
--劍孤寒
閱讀排行榜
1.?在Lua中使用枚舉型變量 (15637)
2.?Galaxy2D游戲引擎教程1 - Hello World(7962)
3.?在Lua中使用List (6797)
4.?Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布 (6309)
5.?Win7下ATI顯卡更新驅(qū)動程序打不開Catalyst Control Center的解決辦法(5927)
寫了個用shared_ptr管理游戲資源的幫助類
Posted on 2013-06-28 16:15
劍孤寒
閱讀(802)
評論(0)
編輯
收藏
引用
所屬分類:
Galaxy2D 游戲引擎擴(kuò)展
用這個東東可以簡化一些引用計(jì)數(shù)方面的管理,不過從Get*()接口獲取的資源還是要先自己調(diào)一下AddRef()函數(shù)
class
CRefCountHelper
{
public
:
template
<
typename T
>
static
shared_ptr
<
T
>
Create(T
*
p)
{
shared_ptr
<
T
>
ptr(p, RefReleaseFunc());
return
ptr;
}
private
:
struct
RefReleaseFunc
{
void
operator
()(gge::ggeRefCounter
*
p)
{
if (p) p->Release();
}
}
;
}
;
用法如下:
//
假設(shè)以前有一段代碼是要載入一個texture到一個sprite上,例如下面這段代碼:
ggeTexture
*
tex
=
Texture_Load(
"
image.png
"
);
if
(
!
tex)
return
false
;
ggeSprite
*
spr
=
Sprite_Create(tex);
if
(
!
spr)
{
GGE_RELEASE(tex);
return
false
;
}
//
現(xiàn)在的寫法可以改成下面這樣,不用再去人肉Release了
shared_ptr
<
ggeTexture
>
tex
=
CRefCountHelper::Create( Texture_Load(
"
image.png
"
) );
if
(
!
tex)
return
false
;
shared_ptr
<
ggeSprite
>
spr
=
CRefCountHelper::Create( Sprite_Create(tex.
get
()) );
if
(
!
spr)
return
false
;
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
寫了個用shared_ptr管理游戲資源的幫助類
2D骨骼動畫 Spine Render For Galaxy2D [Demo + 代碼]
Galaxy2D Game Engine 4.0 開發(fā)版 發(fā)布
TexturePacker 1.1 發(fā)布
寫了一個xls2xml轉(zhuǎn)換工具
Irrlicht For Galaxy2D
CEGUI Render For Galaxy2D
Galaxy2D 導(dǎo)出類到Lua模塊源代碼
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 劍孤寒
国产精品综合久久第一页
|
久久久综合香蕉尹人综合网
|
国产精品九九久久免费视频
|
亚洲乱码中文字幕久久孕妇黑人
|
无码乱码观看精品久久
|
精品久久人人妻人人做精品
|
91久久精品国产免费直播
|
久久青草国产精品一区
|
国产精品久久波多野结衣
|
91精品国产9l久久久久
|
亚洲综合伊人久久大杳蕉
|
久久精品国产清自在天天线
|
久久精品免费一区二区
|
狠狠色婷婷久久一区二区
|
日日噜噜夜夜狠狠久久丁香五月
|
久久精品国产99久久无毒不卡
|
久久久久亚洲精品天堂
|
一级做a爰片久久毛片人呢
|
国产69精品久久久久99尤物
|
久久成人影院精品777
|
欧美综合天天夜夜久久
|
久久精品综合一区二区三区
|
色综合久久夜色精品国产
|
婷婷综合久久中文字幕蜜桃三电影
|
精产国品久久一二三产区区别
|
人妻少妇久久中文字幕
|
国产91色综合久久免费分享
|
精品久久久久一区二区三区
|
女人高潮久久久叫人喷水
|
久久精品人人槡人妻人人玩AV
|
国产叼嘿久久精品久久
|
亚洲精品国产综合久久一线
|
欧美噜噜久久久XXX
|
国产精品va久久久久久久
|
久久乐国产综合亚洲精品
|
99久久中文字幕
|
性做久久久久久久久
|
老司机国内精品久久久久
|
久久人妻无码中文字幕
|
国产精品99久久久久久董美香
|
久久不见久久见免费视频7
|