成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone游戲開發(fā) Cocos2d加載圖片方式實(shí)例操作

移動開發(fā) iOS 游戲開發(fā)
本文介紹的是iPhone游戲開發(fā) Cocos2d加載圖片方式實(shí)例操作,主要實(shí)現(xiàn)圖片加載的動作,先來看內(nèi)容。

iPhone游戲開發(fā) Cocos2d加載圖片方式實(shí)例操作是本文要介紹的內(nèi)容,分享一個我用cocos2d加載圖片的方式,其實(shí)很簡單,我覺得還挺實(shí)用的,來看詳細(xì)內(nèi)容。

首先要提醒一點(diǎn),ihpone開發(fā)中所有的圖片最好都是png格式的,雖然png格式的圖片比jpg或其他的圖片要大,但是png的圖片在sdk中是做過優(yōu)化處理的,是蘋果推薦的格式,對這個格式支持也是相對好的.尤其是在最新4.2的sdk中,如果你有jpg的圖片,并且比較大,在真機(jī)上是現(xiàn)實(shí)不出來的.

最開始做項(xiàng)目,對cocos2d了解的比較少,添加一個CCSprite時,為了簡單,就直接用

Java代碼 

  1. CCSprite *sprite = [CCSprite spriteWithFile:@"圖片名稱"];   

CCSprite *sprite = [CCSprite spriteWithFile:@"圖片名稱"]; 如果你是這樣用,那就是說圖片要通過自動釋放機(jī)制來完成對加載圖片的釋放了,那究竟什么時候圖片會自動釋放掉呢?當(dāng)然是程序內(nèi)存快要用盡的時候

Java代碼 

  1. - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {     
  2.     [[CCTextureCache sharedTextureCache] removeUnusedTextures];     
  3. }    
  4.  
  5. - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {  
  6.  [[CCTextureCache sharedTextureCache] removeUnusedTextures];  
  7. }  

看你應(yīng)用的delegate方法,會有上面一個函數(shù),這個函數(shù)就是用來觸發(fā)什么釋放圖片的.內(nèi)存快要到達(dá)極限的時候會發(fā)出警告告訴上邊的方面,然后這個方法就會從cache中釋放掉當(dāng)前不用的圖片,

removeUnusedTextures進(jìn)到這個里面會看到實(shí)際上就是釋放掉retaincount=1的資源.通過log會發(fā)現(xiàn)內(nèi)存警告是分級別的,

當(dāng)時1級的時候問題不大,2級的時候就危險了,超過2級程序就完蛋了.而在調(diào)用內(nèi)存警告之前,通過xcode提供內(nèi)存跟蹤工具,會發(fā)現(xiàn)圖片一直會占著內(nèi)存.

所以就不要依賴自動釋放了,會害了項(xiàng)目的,尤其做游戲,圖片比較多,如果用這種方式加載素材,到后期就慘了.我是深有體會.

我是這樣做的

Java代碼

  1. CCTexture2D * backBGTexture = [[CCTextureCache sharedTextureCache] addImage:@"a_aboutBG.png"];     
  2. CCSprite * backgroundSprite = [[CCSprite alloc] initWithTexture:m_backBGTexture];     
  3. [self addChild:backgroundSprite];        
  4. [backgroundSprite release];    
  5.  
  6. CCTexture2D * backBGTexture = [[CCTextureCache sharedTextureCache] addImage:@"a_aboutBG.png"];  
  7. CCSprite * backgroundSprite = [[CCSprite alloc] initWithTexture:m_backBGTexture];  
  8. [self addChild:backgroundSprite];   
  9. [backgroundSprite release]; 

其實(shí)就是手動構(gòu)建CCsprite這樣,在圖片不用的時候(一般在dealloc方法中),直接把圖片remove掉

Java代碼

  1. -(void)dealloc     
  2. {     
  3.     [[CCTextureCache sharedTextureCache] removeTexture:backBGTexture];     
  4.     [super dealloc];     
  5. }   

小結(jié):iPhone游戲開發(fā) Cocos2d加載圖片方式實(shí)例操作的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-11 14:32:04

iPhone游戲Cocos2dActions

2011-07-27 13:57:36

iPhone 游戲 Cocos2d

2011-08-04 17:01:16

iPhone游戲開發(fā) Cocos2d

2011-08-11 14:22:47

iPhone游戲Cocos2D

2011-07-27 10:13:23

Cocos2D iPhone

2011-07-20 14:04:46

Cocos2d iPhone 游戲

2011-08-09 16:08:58

IOS游戲Cocos2d

2012-04-16 13:37:57

cocos2d

2011-07-27 14:48:21

iPhone Cocos2D 坐標(biāo)

2011-08-08 11:26:39

Cocos2d 游戲 Class類

2012-02-19 20:10:23

Cocos2d-x fCocos2dWindows Pho

2012-06-01 10:27:44

Cocos2d觸摸分發(fā)原理

2011-12-12 10:40:08

Cocos2d-X游戲開發(fā)開發(fā)環(huán)境

2011-08-22 10:49:42

Cocos2d 開發(fā)CCLayerTouch事件

2011-08-11 17:52:01

Cocos2d游戲對象

2011-07-29 18:02:06

2011-08-08 15:40:47

Cocos2d

2011-08-11 18:00:18

Cocos2d動作Action

2011-08-08 17:17:55

Cocos2D 坐標(biāo) OpenglES

2011-07-27 13:44:08

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩电影免费观看中文字幕 | 99r在线| 欧洲一级毛片 | 国产专区在线 | 欧美毛片免费观看 | 91精品久久久久久久久久 | 日韩伦理一区二区三区 | 一级欧美一级日韩片免费观看 | www.日本三级 | 精品国产一区二区国模嫣然 | 欧美日韩专区 | 日韩中文在线视频 | 国产综合视频 | 久久久久久久久一区 | av一二三区 | 免费a网| 欧美国产视频 | 亚洲一区二区三区免费在线观看 | 日韩福利在线 | 成人免费大片黄在线播放 | 亚洲视频第一页 | 欧一区二区 | 九九国产在线观看 | 亚洲成a| 日韩在线欧美 | 懂色av色香蕉一区二区蜜桃 | 91黄色片免费看 | 欧美久久久久久久久中文字幕 | 免费久久网 | 亚洲天堂av在线 | 久久久久国产一区二区三区 | 青青草在线视频免费观看 | 国产精品国产亚洲精品看不卡15 | 久久综合一区二区 | 黄色福利 | 日韩午夜在线播放 | 亚洲成人av在线播放 | a级黄色片在线观看 | 精品一二区 | 亚洲综合大片69999 | 免费在线观看毛片 |