Cocos2d-x 异步加载纹理学习

数据存储

单例类 CCTextureCache一个字典m_pTextures,其中key是文件名,数据是cocos2d-x的纹理类指针CCTexture2D* .

异步加载数据队列

  • 保存 AsyncStruct*(需要加载文件和回调信息)的 s_pAsyncStructQueue 队列.
  • 保存ImageInfo*(加载后图片信息) 的s_pImageQueue队列 .

异步加载接口 addImageAsync

  • 若初次调用,则启动加载线程 loadImage
  • 图片和回调信息保存pushs_pAsyncStructQueue

加载线程

循环 :
* 从 s_pAsyncStructQueue 队列中top 一个需要加载的文件信息.
* 加载文件数据
* 将加载的数据pushs_pImageQueue队列

异步加载回调函数 addImageAsyncCallBack

  • s_pImageQueue队列中top加载后数据.
  • 利用数据创建纹理类
  • 将纹理加入m_pTextures .

简略图示 :

相关文章

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