cocos2d-X學習之主要類介紹:精靈角色(CCSprite)


CCSprite是一副2D圖像,CCSprite可以通過圖像或者圖像中的一個矩形子區域創建 如果它的父節點或者任意繼承樹上的節點是CCspriteBatchNode則具有下述特性:

父節點是CCSpriteBatchNode時具有的特性: 更快的渲染速度,特別時CCSpriteBatchNode有很多子節點的情況下,但有以下限制:

A、不支持照相功能(例如:CCOrbitCamera動作不能執行)

B、不支持基於網格的動作(例如:CCLens,CCRipple,CCTwirl)

C、Alias / Antialias屬性屬於CCSpriteBatchNode,所以你不能單獨設置aliase屬性

D、渲染函數屬性屬於CCSpriteBatchNode,所以你不能單獨設置渲染函數屬性

E、不支持視差滾動,但是可以通過“代理”精靈模擬 如果它的父節點時普通CCNode,那么CCSprite具有和其它任何CCNode一樣的行為。

雖然有以上限制,但它也有以下優點:

A、支持渲染(Blending)功能

B、支持Alias / Antialias • 但是渲染速度會比較慢,每次只渲染一個子節點 CCSprite默認的錨點時(0.5, 0.5)

可以說,所有與圖片有關系的,都可以用這個來處理,主要是提供圖片的加載展示,可以加載序列幀,以便動畫播放

類繼承圖

wps_clip_image-21583

其主要函數除了CCNode繼承下來的函數外,還有以下函數:

virtual void  setTexture (CCTexture2D *texture)//設置精靈的紋理

virtual CCTexture2DgetTexture (void)//獲取精靈的紋理

bool  initWithTexture (CCTexture2D *pTexture)//根據紋理初始化精靈

bool  initWithTexture (CCTexture2D *pTexture, const CCRect &rect)//根據紋理指定的區域初始化精靈

bool  initWithSpriteFrame (CCSpriteFrame *pSpriteFrame)//根據SpriteFrame初始化精靈

bool  initWithSpriteFrameName (const char *pszSpriteFrameName)//根據spriteFrame的名稱初始化精靈

bool  initWithFile (const char *pszFilename)//根據plist文件初始化精靈

bool  initWithFile (const char *pszFilename, const CCRect &rect)//根據plist文件初始化精靈

bool  initWithBatchNode (CCSpriteBatchNode *batchNode, const CCRect &rect)//批量根據節點初始化精靈

void  setDisplayFrameWithAnimationName (const char *animationName, int frameIndex)

static CCSpritespriteWithTexture (CCTexture2D *pTexture) //根據紋理生成精靈

static CCSpritespriteWithTexture (CCTexture2D *pTexture, const CCRect &rect)//根據紋理指定的區域生成精靈

static CCSpritespriteWithTexture (CCTexture2D *pTexture, const CCRect &rect, const CCPoint &offset)//根據紋理指定的區域和點偏移生成精靈

static CCSpritespriteWithSpriteFrame (CCSpriteFrame *pSpriteFrame)//根據SpriteFrame生成精靈

static CCSpritespriteWithSpriteFrameName (const char *pszSpriteFrameName)//根據SpriteFrame的名稱生成精靈

static CCSpritespriteWithFile (const char *pszFileName)//根據plist文件按生成CCSprite

static CCSpritespriteWithFile (const char *pszFileName, const CCRect &rect)//根據plist文件生成精靈

static CCSpritespriteWithBatchNode (CCSpriteBatchNode *batchNode, const CCRect &rect)//根據節點批量生成精靈


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM