cocos2d-x之CCTextureCache 用法总结

来源:互联网 发布:手机学全站仪的软件 编辑:程序博客网 时间:2024/06/02 05:29

原帖地址

http://blog.csdn.net/tangaowen/article/details/8728975


1.  加载图片 方法 

CCTexture2D* addImage(const char* fileimage);

        同步加载一个图片,返回 一个 CCTexture2D对象。这个文件名还可以做 key.  后续可以调用  

CCTexture2D* textureForKey(const char* key); 方法来获得这个文件名所对应的CCTexture2D对象,如果这个Key对应的图片不存在,那么就返回NULL.


2.  异步加载图片方法 

     void addImageAsync(const char *path, CCObject *target, SEL_CallFuncOselector);


    加载之后会回调,一般用来程序启动的时候预加载图片资源。

   例如: CCTextureCache::sharedTextureCache()->addImageAsync("Images/blocks.png"this,callfuncO_selector(TextureCacheTest::loadingCallBack)); 


3. 获得图片的方法

   可以使用  CCTexture2D* textureForKey(const char* key); 方法来获得这个文件名所对应的CCTexture2D对象,如果这个Key对应的图片不存在,那么就返回NULL.


   也可以使用  CCTexture2D* addImage(const char* fileimage); 因为之前如果已经加载,那么会直接返回图片缓存,不会重新加载图片。


4. 图片缓存的释放

    在退出界面的时候,可以调用  void removeAllTextures();

    方法来将所以的缓存移除,防止资源占用过多。

 

   void removeUnusedTextures();  用来移除哪些暂时没用到的纹理图。 It is convenient to call this method after when starting a new Scene . 意思是新开始一个场景界面的时候,可以调用很方便。


0 0