cocos2dx csb文件的预加载
来源:互联网 发布:中体产业 网络彩票 编辑:程序博客网 时间:2024/04/29 11:49
这些资料网上有各种博客讲解,大家一搜就能搜到。
可查看下这个帖子:http://www.cocoachina.com/bbs/read.php?tid=219154
加载csb:
CSLoader.h 头文件中
static cocos2d::Node* createNode(const std::string& filename);//普通加载csb
static cocos2d::Node* createNode(const std::string& filename, const ccNodeLoadCallback& callback);
static cocos2d::Node* createNode(const Data& data);//预加载csb
static cocos2d::Node* createNode(const Data& data, const ccNodeLoadCallback &callback);
可使用createNode(const Data& data)函数来达到预加载csb的作用。
使用步骤:
const Data data = FileUtils::getInstance()->getDataFromFile("res/MainScene.csb");
auto _node = CSLoader::createNode(data);
this->addChild(_node);
缺点:需要一个全局变量来保存data数据。没图片预加载那么方便。但是自己控制内存也不错。
函数简介:
进入createNode函数后,会指向:Node * CSLoader::createNode(const Data& data, const ccNodeLoadCallback &callback)
在它里面主要有4部分组成
1、auto csparsebinary = GetCSParseBinary(data.getBytes()); //data数据转移到csparsebinary 中
2、SpriteFrameCache::getInstance()->addSpriteFramesWithFile(textures->Get(i)->c_str());//加载资源
3、 node = loader->nodeWithFlatBuffers(csparsebinary->nodeTree(), callback);//csparsebinary数据转化成node数据
4、loader->reconstructNestNode(node);//重建node
C++中有这个方法,但lua中没有,尝试genbindings,FileUtils::getInstance()->getDataFromFile会报错,解决错误后, createNode(const Data& data, const ccNodeLoadCallback &callback)会断点,是否不支持lua?
if (argc == 2)
{
cocos2d::Data *arg0;
ok &= luaval_to_object<cocos2d::Data>(tolua_S, 2, "cc.Data", &arg0, "cc.CSLoader:createNode");
if (!ok) { break; }
std::function<void(cocos2d::Ref *)> arg1;
do {
// Lambda binding for lua is not supported.
assert(false);
} while (0)
;
if (!ok) { break; }
cocos2d::Node* ret = cocos2d::CSLoader::createNode(*arg0, arg1);
object_to_luaval<cocos2d::Node>(tolua_S, "cc.Node", (cocos2d::Node*)ret);
return 1;
}
lua调用createNode带回调函数的接口,回调函数不起作用,lua好像不支持
do {
// Lambda binding for lua is not supported.
assert(false);
} while (0)
;
- cocos2dx csb文件的预加载
- cocos2dx csb 文件预加载
- cocos2dx 3.8加载cocos studio csb文件
- C++加载csb文件
- cocos2dx 新版本骨骼动画.csb文件的简单使用
- cocos2d-x加载 csb 文件
- 加载cocos studio 2.0导出的csb文件
- quick cocos加载csb文件直接崩溃的解决方法
- cocos2dx csb动画换装的问题
- Cocos2d-x 3.8 如何加载.csb文件
- cocos2d-lua里如何加载csb文件
- Cocos2d-x3.8.1加载csb文件
- 加载cocoStudio的 csb 文件使用方法并添加回调事件
- Cocos2d 导入CocoStudio生成的csb文件
- Cocos2d-x 加载 csb资源文件后显示不出来
- cocos 加载csb文件和播放ui动画
- cocos2dx lua文件的加载问题
- cocos2dx lua文件的加载问题
- Neo4j启动失败/usr/share/neo4j/bin/neo4j: line 411: /var/run/neo4j/neo4j.pid: No such file or directory
- element-ui 设置菜单栏展开
- 第十周||层次遍历算法的验证
- 老网站突然不收录普遍存在的14个原因及应对策略
- 第八周 【项目4-稀疏矩阵的三元组表示的实现及应用(1)】
- cocos2dx csb文件的预加载
- HttpClient网络请求
- JQuery自定义提示框
- 第五章 子网划分和CIDR
- Oracle中如何定义NUMBER类型的长度
- 面向对象的六大原则
- SQL数据库存储过程(一)
- LBP等价模式详解
- Android中各种Span的用法