加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2d-x 异步加载纹理学习

发布时间:2020-12-14 21:24:09 所属栏目:百科 来源:网络整理
导读:数据存储 单例类 CCTextureCache 有一个字典 m_pTextures ,其中key是文件名,数据是cocos2d-x的纹理类指针 CCTexture2D* . 异步加载数据队列 保存 AsyncStruct* (需要加载文件和回调信息)的 s_pAsyncStructQueue 队列. 保存 ImageInfo* (加载后图片信息) 的 s

数据存储

单例类 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 .

简略图示 :

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读