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

前端之家收集整理的这篇文章主要介绍了《不靠谱2.x》006.CCSprite(上)002 CCTexture2D前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

  1. void releaseData(void *data);
  2. /** * @js NA */
  3. void* keepData(void *data,unsigned int length);
  4.  
  5. /** Initializes with a texture2d with data * @js NA * @lua NA */
  6. bool initWithData(const void* data,CCTexture2DPixelFormat pixelFormat,unsigned int pixelsWide,unsigned int pixelsHigh,const CCSize& contentSize);
  7.  
  8. /** 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. */
  9. /** draws a texture at a given point */
  10. void drawAtPoint(const CCPoint& point);
  11. /** draws a texture inside a rect */
  12. void drawInRect(const CCRect& rect);
  13.  
  14. /** 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). */
  15. /** Initializes a texture from a UIImage object */
  16.  
  17. bool initWithImage(CCImage * uiImage);
  18.  
  19. /** Initializes a texture from a string with dimensions,alignment,font name and font size */
  20. bool initWithString(const char *text,const char *fontName,float fontSize,const CCSize& dimensions,CCTextAlignment hAlignment,CCVerticalTextAlignment vAlignment);
  21. /** Initializes a texture from a string with font name and font size */
  22. bool initWithString(const char *text,float fontSize);
  23. /** Initializes a texture from a string using a text definition*/
  24. bool initWithString(const char *text,ccFontDefinition *textDefinition);
  25.  
  26. /** Initializes a texture from a PVR file */
  27. bool initWithPVRFile(const char* file);
  28.  
  29. /** Initializes a texture from a ETC file */
  30. bool initWithETCFile(const char* file);

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

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

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