展会信息港展会大全

cocos2dx资源加载机制(同步/异步),cocos2dx异步
来源:互联网   发布日期:2015-09-28 13:18:25   浏览:2643次  

导读: cocos2dx资源加载机制(同步/异步),cocos2dx异步 首先cocos2dx里的资源,有png,plist(pvr),exportjson(json)大致这三类,我们也从这3类去研究...

cocos2dx资源加载机制(同步/异步),cocos2dx异步

首先cocos2dx里的资源,有png,plist(pvr),exportjson(json)大致这三类,我们也从这3类去研究相应的加载代码。

本次代码分析基于:

cocos2dx3.2

1、png

png格式的资源,从sprite作为一个切入口来分析,一般Sprite的创建如下

Sprite* Sprite::create(const std::string& filename)

参数filename,是图片资源的路径。

内部调用的initWithFile

Sprite *sprite = new (std::nothrow) Sprite();

if (sprite && sprite->initWithFile(filename))

{

sprite->autorelease();

return sprite;

}

在initWithFile方法里

Texture2D *texture = Director::getInstance()->getTextureCache()->addImage(filename);

if (texture)

{

Rect rect = Rect::ZERO;

rect.size = texture->getContentSize();

return initWithTexture(texture, rect);

}

在Texture2D * TextureCache::addImage(const std::string &path)方法是实际的载入资源的实现

// 将相对路径转换成绝对路径

std::string fullpath = FileUtils::getInstance()->fullPathForFilename(path);

赞助本站

人工智能实验室

相关热词: android开发 android教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港