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

前端之家收集整理的这篇文章主要介绍了《不靠谱2.x》006.CCSprite(上)002 CCTexture2D前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_1@一、概述
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);
@H_404_1@二、分析
1、上面只是部分源码,即便只是部分源码,看起来都有点陌生,更别说没复制上来的了
2、可以看到生成CCTexture大致有三种方式:image、String,以及data(不知道什么意思)
3、PVR、ETC文件似乎是比PNG更高效的图片格式,暂时不用管

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

原文链接:https://www.f2er.com/cocos2dx/342373.html

猜你在找的Cocos2d-x相关文章