劍孤寒的小站
人生的價值不是用時間,而是用深度去衡量的!
posts - 75, comments - 290, trackbacks - 0, articles - 0
導航
C++博客
首頁
新隨筆
聯系
聚合
管理
<
2010年1月
>
日
一
二
三
四
五
六
27
28
29
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
31
1
2
3
4
5
6
留言簿
(16)
給我留言
查看公開留言
查看私人留言
隨筆分類
Galaxy2D 游戲引擎發(fā)布(40)
Galaxy2D 游戲引擎教程(7)
Galaxy2D 游戲引擎擴展(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ā)布
評論內容較長,點擊標題查看
--劍孤寒
2.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
Update:
◆隨機數添加創(chuàng)建生成器函數
◆隨機數添加Mersenne Twister算法隨機數生成函數
◆修改獲得/失去焦點偶爾收不到回調的bug
--劍孤寒
3.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
評論內容較長,點擊標題查看
--wwdd
4.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
Update (2016-8-1)
◆RichText超鏈接修改為抬起時才觸發(fā)事件
◆Shader添加讀取已編譯的二進制文件支持,并添加相關數據設置接口
--劍孤寒
5.?re: Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布
@baidwwy
你是一直都這樣還是用了上面那個dll才這樣
--劍孤寒
閱讀排行榜
1.?在Lua中使用枚舉型變量 (15667)
2.?Galaxy2D游戲引擎教程1 - Hello World(8125)
3.?在Lua中使用List (6820)
4.?Galaxy2D Game Engine 4.2 開發(fā)版 發(fā)布 (6646)
5.?Win7下ATI顯卡更新驅動程序打不開Catalyst Control Center的解決辦法(5952)
寫了個用shared_ptr管理游戲資源的幫助類
Posted on 2013-06-28 16:15
劍孤寒
閱讀(816)
評論(0)
編輯
收藏
引用
所屬分類:
Galaxy2D 游戲引擎擴展
用這個東東可以簡化一些引用計數方面的管理,不過從Get*()接口獲取的資源還是要先自己調一下AddRef()函數
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();
}
}
;
}
;
用法如下:
//
假設以前有一段代碼是要載入一個texture到一個sprite上,例如下面這段代碼:
ggeTexture
*
tex
=
Texture_Load(
"
image.png
"
);
if
(
!
tex)
return
false
;
ggeSprite
*
spr
=
Sprite_Create(tex);
if
(
!
spr)
{
GGE_RELEASE(tex);
return
false
;
}
//
現在的寫法可以改成下面這樣,不用再去人肉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)!
相關文章:
寫了個用shared_ptr管理游戲資源的幫助類
2D骨骼動畫 Spine Render For Galaxy2D [Demo + 代碼]
Galaxy2D Game Engine 4.0 開發(fā)版 發(fā)布
TexturePacker 1.1 發(fā)布
寫了一個xls2xml轉換工具
Irrlicht For Galaxy2D
CEGUI Render For Galaxy2D
Galaxy2D 導出類到Lua模塊源代碼
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 劍孤寒
99国产欧美久久久精品蜜芽
|
国产精品九九久久精品女同亚洲欧美日韩综合区
|
中文字幕无码免费久久
|
国产成人综合久久综合
|
日本WV一本一道久久香蕉
|
99久久这里只有精品
|
久久精品国产亚洲αv忘忧草
|
久久人人爽爽爽人久久久
|
四虎影视久久久免费
|
久久久久亚洲AV成人网
|
久久精品无码一区二区无码
|
免费久久人人爽人人爽av
|
日韩亚洲国产综合久久久
|
久久精品国产只有精品66
|
久久国产V一级毛多内射
|
日韩亚洲欧美久久久www综合网
|
日日躁夜夜躁狠狠久久AV
|
91精品国产综合久久精品
|
久久人人爽人人精品视频
|
久久99精品久久久久久噜噜
|
久久香蕉综合色一综合色88
|
青青草原综合久久
|
久久精品国产亚洲αv忘忧草
|
久久亚洲春色中文字幕久久久
|
久久综合综合久久综合
|
久久精品国产免费一区
|
99久久精品免费
|
久久午夜伦鲁片免费无码
|
国产精品视频久久
|
国产精品久久久久久久久软件
|
蜜臀av性久久久久蜜臀aⅴ麻豆
|
91久久精一区二区三区大全
|
色诱久久久久综合网ywww
|
色综合久久久久综合体桃花网
|
久久精品水蜜桃av综合天堂
|
99久久精品国产一区二区蜜芽
|
久久av高潮av无码av喷吹
|
久久久久免费精品国产
|
久久这里只精品99re66
|
99热都是精品久久久久久
|
99久久夜色精品国产网站
|