《不靠谱2.x》006.CCSprite上002 CCTexture2D

一、概述
CCTexture2D继承自CCObject。原本以为CCTexture2D中的内容会比较多、常用和重要,看了源码后发现似乎都是些基础的接口。常用的接口或许在其他类中,比如CCTextureCache。源码如下:

void releaseData(void *data);
    /** * @js NA */
    void* keepData(void *data,unsigned int length);

    /** Initializes with a texture2d with data * @js NA * @lua NA */
    bool initWithData(const void* data,CCTexture2DPixelFormat pixelFormat,unsigned int pixelsWide,unsigned int pixelsHigh,const CCSize& contentSize);

    /** Drawing extensions to make it easy to draw basic quads using a CCTexture2D object. These functions require GL_TEXTURE_2D and both GL_VERTEX_ARRAY and GL_TEXTURE_COORD_ARRAY client states to be enabled. */
    /** draws a texture at a given point */
    void drawAtPoint(const CCPoint& point);
    /** draws a texture inside a rect */
    void drawInRect(const CCRect& rect);

    /** Extensions to make it easy to create a CCTexture2D object from an image file. Note that RGBA type textures will have their alpha premultiplied - use the blending mode (GL_ONE,GL_ONE_MINUS_SRC_ALPHA). */
    /** Initializes a texture from a UIImage object */

    bool initWithImage(CCImage * uiImage);

    /** Initializes a texture from a string with dimensions,alignment,font name and font size */
    bool initWithString(const char *text,const char *fontName,float fontSize,const CCSize& dimensions,CCTextAlignment hAlignment,CCVerticalTextAlignment vAlignment);
    /** Initializes a texture from a string with font name and font size */
    bool initWithString(const char *text,float fontSize);
    /** Initializes a texture from a string using a text definition*/
    bool initWithString(const char *text,ccFontDefinition *textDefinition);

    /** Initializes a texture from a PVR file */
    bool initWithPVRFile(const char* file);

    /** Initializes a texture from a ETC file */
    bool initWithETCFile(const char* file);

二、分析
1、上面只是部分源码,即便只是部分源码,看起来都有点陌生,更别说没复制上来的了
2、可以看到生成CCTexture大致有三种方式:image、String,以及data(不知道什么意思)
3、PVR、ETC文件似乎是比PNG更高效的图片格式,暂时不用管

三、总结 1、知道了CCTexture2D可以由image、String或data生成 2、知道了CCTexture不常直接使用

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...