生活随笔
收集整理的這篇文章主要介紹了
【玩转cocos2d-x之八】精灵类CCSprite
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原創作品,轉載請標明:http://blog.csdn.net/jackystudio/article/details/12747385
精靈類CCSprite可以說是游戲的主角了,也是我們平時最常用到的類。
1.概況
CCSprite本質上就是一個二維圖片,是靜態的。游戲中的動畫只不過是讓一張張靜態圖片快速更換達到的動態效果。CCSprite繼承于CCNodeRGBA,并實現了CCTextureProtocol的接口。因此CCNodeRGBA所具有的RGB和透明值這些屬性和接口CCSprite都有,而CCTextureProtocol是一個抽象類,定義了和紋理相關的兩個標準接口:
[cpp]?view plaincopy
?? virtual?CCTexture2D*?getTexture(void)?=?0;?? ?? ?? virtual?void?setTexture(CCTexture2D?*texture)?=?0; ?
2.常用接口
2.1.初始化
[cpp]?view plaincopy
?? virtual?bool?init(void);?? ?? ?? virtual?bool?initWithTexture(CCTexture2D?*pTexture);?? ?? ?? virtual?bool?initWithTexture(CCTexture2D?*pTexture,?const?CCRect&?rect);?? ?? ?? virtual?bool?initWithTexture(CCTexture2D?*pTexture,?const?CCRect&?rect,?bool?rotated);?? ?? ?? virtual?bool?initWithSpriteFrame(CCSpriteFrame?*pSpriteFrame);?? ?? ?? virtual?bool?initWithSpriteFrameName(const?char?*pszSpriteFrameName);?? ?? ?? virtual?bool?initWithFile(const?char?*pszFilename);?? ?? ?? virtual?bool?initWithFile(const?char?*pszFilename,?const?CCRect&?rect); ?
2.2.繼承自CCTextureProtocol
[cpp]?view plaincopy
?? virtual?void?setTexture(CCTexture2D?*texture);?? virtual?CCTexture2D*?getTexture(void);?? ?? ?? void?setBlendFunc(ccBlendFunc?blendFunc);?? ccBlendFunc?getBlendFunc(void); ?
2.3.繼承自CCNode
參見CCNode。
[cpp]?view plaincopy
virtual?void?setScaleX(float?fScaleX);?? virtual?void?setScaleY(float?fScaleY);?? virtual?void?setPosition(const?CCPoint&?pos);?? virtual?void?setRotation(float?fRotation);?? virtual?void?setRotationX(float?fRotationX);?? virtual?void?setRotationY(float?fRotationY);?? virtual?void?setSkewX(float?sx);?? virtual?void?setSkewY(float?sy);?? virtual?void?removeChild(CCNode*?pChild,?bool?bCleanup);?? virtual?void?removeAllChildrenWithCleanup(bool?bCleanup);?? virtual?void?reorderChild(CCNode?*pChild,?int?zOrder);?? virtual?void?addChild(CCNode?*pChild);?? virtual?void?addChild(CCNode?*pChild,?int?zOrder);?? virtual?void?addChild(CCNode?*pChild,?int?zOrder,?int?tag);?? virtual?void?sortAllChildren();?? virtual?void?setScale(float?fScale);?? virtual?void?setVertexZ(float?fVertexZ);?? virtual?void?setAnchorPoint(const?CCPoint&?anchor);?? virtual?void?ignoreAnchorPointForPosition(bool?value);?? virtual?void?setVisible(bool?bVisible);?? virtual?void?draw(void); ?
2.4.繼承自CCNodeRGBA
[cpp]?view plaincopy
?? virtual?void?setColor(const?ccColor3B&?color3);?? ?? ?? virtual?void?updateDisplayedColor(const?ccColor3B&?parentColor);?? ?? ?? virtual?void?setOpacity(GLubyte?opacity);?? ?? ?? virtual?void?setOpacityModifyRGB(bool?modify);?? virtual?bool?isOpacityModifyRGB(void);?? ?? ?? virtual?void?updateDisplayedOpacity(GLubyte?parentOpacity); ?
2.5.批節點
[cpp]?view plaincopy
?? virtual?void?updateTransform(void);?? ?? ?? virtual?CCSpriteBatchNode*?getBatchNode(void);?? ?? virtual?void?setBatchNode(CCSpriteBatchNode?*pobSpriteBatchNode); ?
2.6.紋理
[cpp]?view plaincopy
?? virtual?void?setTextureRect(const?CCRect&?rect);?? virtual?void?setTextureRect(const?CCRect&?rect,?bool?rotated,?const?CCSize&?untrimmedSize);?? virtual?void?setVertexRect(const?CCRect&?rect); ?
2.7.精靈幀和動畫
[cpp]?view plaincopy
?? virtual?void?setDisplayFrame(CCSpriteFrame?*pNewFrame);?? ?? ?? virtual?bool?isFrameDisplayed(CCSpriteFrame?*pFrame);?? ?? ?? virtual?CCSpriteFrame*?displayFrame(void);?? ?? ?? virtual?void?setDisplayFrameWithAnimationName(const?char?*animationName,?int?frameIndex); ?
2.8.Setter和Getter方法
設置/獲取CCSprite屬性。
[cpp]?view plaincopy
?? virtual?bool?isDirty(void);?? virtual?void?setDirty(bool?bDirty);?? ?? ?? ccV3F_C4B_T2F_Quad?getQuad(void);?? ?? ?? bool?isTextureRectRotated(void);?? ?? ?? unsigned?int?getAtlasIndex(void);?? void?setAtlasIndex(unsigned?int?uAtlasIndex);?? ?? ?? const?CCRect&?getTextureRect(void);?? ?? ?? CCTextureAtlas*?getTextureAtlas(void);?? inline?void?setTextureAtlas(CCTextureAtlas?*pobTextureAtlas);?? ?? ?? const?CCPoint&?getOffsetPosition(void);?? ?? ?? bool?isFlipX(void);?? void?setFlipX(bool?bFlipX);?? bool?isFlipY(void);?? void?setFlipY(bool?bFlipY);??
版
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的【玩转cocos2d-x之八】精灵类CCSprite的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。