cocos2d x學習筆記 14

2022-09-23 09:39:20 字數 1343 閱讀 7642

這裡我直接根據一段**來解釋cctexturecache,**如下:

...........................

ccsprite* sprite = ccsprite::spritewithfile("player.png");

addchild(sprite);

......................

這是我們初學者常用的載入精靈的使用方法,下面是用另一種方式:

........

cctexture2d* cache = cctexturecache::sharedtexturecache()->addimage("player.png");

...........

ccsprite* sprite = ccsprite::spritewithtexture(cache);

addchild(sprite);

...........

可能有人會認為第二中方式是用效率比較高,其實是一樣的,只是第二種方式比較靈活;在遊戲中,如果一幅背景要載入許多精靈,如果是在切入背景是才開始載入精靈(即第一種使用方式),一旦精靈數量太龐大,那麼畫面就會出現卡頓的現象,玩家就會覺得遊戲卡。如果我們採用第二種方式,在切入場景前,實現將載入到cctexturecache中,那麼在真正呼叫這些時就顯得速度很快,就不會出現卡頓的現象。在這裡,再說明的一點的是,所有載入的方法都是作為texture載入到cctexurecache,不僅僅是ccsprite.下面我用乙個例項來說明。

step1:建立cocos2d-win32專案,並命名為texturecache;

step2:在helloworldscene.h中新增下面兩個類:

[cpp]

//第二種載入方式 

class texturecache:public cclayer ;  

//第一種載入方式 

class spritelayer:public cclayer 

; step3:在helloworldscene.cpp中新增如下函式:

[cpp]

texturecache::texturecache()   

void texturecache::addsprite(ccobject* psender)   

[cpp]

spritelayer::spritelayer() 

並對helloworld::scene函式進行修改:

[cpp] 

ccscene* helloworld::scene() 

while (0); 

// return the scene 

return scene; 

Cocos2d x學習筆記1

1.建立新的cocos2d x 3.0 專案 在命令列中輸入 cocos new helloworld 專案名稱 p com.ss.pku 包名字 l cpp 專案型別 d d cocos workspace 專案存放路徑 2.資料夾分析 resource 資料夾 存放資源檔案 include和so...

Cocos2d x學習筆記(7)

1 動作基本概念 ccactiong是動作類的基類,動作作用於ccnode,因此,任何乙個動作都需要ccnode物件來執行。ccaction作為乙個基類,其實質是乙個介面 抽象類 由它派生的實現類才是實際使用的動作。ccaction的絕大多數實現類都派生自ccfinitetimeaction,這個類...

Cocos2d x動作學習筆記

action類如其名,它可以改變node物件的屬性,action物件是隨著時間改變node的屬性。任何乙個以node為基類的物件都有可執行的動作物件。例如,你可以在乙個時間段內將sprite精靈從乙個位置移動到另乙個位置。每個動作都有by和to兩個狀態。為什麼呢?因為它們所執行的結果是不同的。by相...