cocos2d-x3.0.1,加载cocostudio ui编辑器导出的json文件出现"Buffer is too small" && 0解决方案

刚到这个公司,开始进行cocos2d-x的真正项目开发,为了以后能够更好扩展,改动不大,决定使用3.X版本开发,而且使用ui编辑器。在导入的时候,今天遇到一个问题,Buffer is too small,搜了不少,但是都没有解决的方案,最后查到一个错误诱因,是因为ui中使用了label所致,于是我试了试,发现还真是label导致的问题,每次运行异常都发生在CCDevice.cpp的

bool setFont(const char * pFontName = NULL, int nSize = 0)中的strcpy_s(tNewFont.lfFaceName, LF_FACESIZE, fontName.c_str());,因为fontName.c_str()过长导致越界,tNewFont.lfFaceName长度只有32字节,然后看了fontName为什么过长,而其他的都正常,发现TextRead.cpp文件中

void TextReader::setPropsFromJsonDictionary(Widget *widget, const rapidjson::Value &options)。

std::string fontName = DICTOOL->getStringValue_json(options, P_FontName, "微软雅黑");
std::string fontFilePath = jsonPath.append(fontName);
label->setFontName(fontFilePath );

这几句代码将fontFilePath路径给增加了,实际上只用传递fontName就行,于是,改为

std::string fontName = DICTOOL->getStringValue_json(options, P_FontName, "微软雅黑");
// std::string fontFilePath = jsonPath.append(fontName);
label->setFontName(fontName);

编译之后正常。

cocos2d-x3.0.1,加载cocostudio ui编辑器导出的json文件出现"Buffer is too small" && 0解决方案

时间: 2024-10-23 08:45:11

cocos2d-x3.0.1,加载cocostudio ui编辑器导出的json文件出现"Buffer is too small" && 0解决方案的相关文章

cocos2dx 2.2.2 cocostudio 数据编辑器导出的.json文件读取 解析

首先,创建 然后 再导出数据: 再然后,能够看到数据的格式是: 再然后,就是 数据解析代码: [cpp] view plaincopy ////////////////// rapidjson::Document _doc; bool bRet = false; unsigned long size = 0; unsigned char *pBytes = NULL; do { pBytes = cocos2d::CCFileUtils::sharedFileUtils()->getFileDa

天气预报---网络加载最新天气信息,截取JSON文件

仿普通的手机上的天气预报功能,从网络上截取JSON文件 实现的效果图如下: 具体代码如下: FirstViewController.m文件 #import "FirstViewController.h" #import "JRViewController.h" #import "CityModel.h" #import "JSONKit.h" #define kW self.view.frame.size.width #def

Cocos2d-x3.0 加载Cocostudio的UI后,按钮无法点击的解决方法

最近发现不少朋友都遇到这个问题,用Cocostudio的UI编辑器创建好UI后,在代码中加载UI,然后给按钮(Button)添加点击监听事件,发现无论如何都点击不了按钮,没有任何反应. 或者,往按钮的下面一些位置点击,却发现按钮被点击了,点击坐标的位置明显和按钮的位置有偏差. 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址: http://www.benmutou.com/blog/archives/1027 文章来源:笨木头与游戏开发 如果你也遇到这样的问题,不妨进行一个简单的

cocos2d-x加载cocostudio

1.cocos2d-x加载cocostudio一定要用对应的版本,不然很是麻烦 1).先说说coco2d-x3.0和cocostudio1.3.0.1UI 2).先用cocostudio导出工程,这个没什么太多可说,美术的事情,不过要注意像button那样的,要选中交互. 3).将导出的资源放入cocos2d-x资源目录中 4).由于cocos2d-x3.0工作目录是放在其它地方,所以要引用一些库 libCocoStuido.libGUI和libExtension三个库 5).他们存在路径不同分

Cocos2d-x3.0游戏实例之《别救我》第五篇——使用Cocostudio UI编辑器创建操作界面

这一篇内容其实很简单,已经对Cocostudio比较熟悉的朋友就可以随便扫一下了~(小若:熟悉Cocostudio的人谁还有空看你的基础教程呢) 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址:http://www.benmutou.com/blog/archives/892 文章来源:笨木头与游戏开发 下载Cocostudio 首先,去官网下载最新版的Cocostudio:http://www.cocos2d-x.org/download 我这篇教程使用的版本是V1.3.0.1

CocoStudio使用笔记1:cocos2dx3.4加载CocoStudio导出的csb文件

一直以来都是用手写代码来做cocos2dx的游戏界面.看朋友一个星期一个游戏的速度,很让我眼红.他们公司使用的是CocosBuilder做界面.对于CocosBuilder 在他的推荐下我也研究了一个星期,网上的教程太乱,而且坑太多,每个教程的操作还不一样,按照教程来还是搞不定,对此我决定要一点点的来填坑.而本篇笔记是记录下cocostudioV2.3.2版本生成的csb文件在cocos2dx3.4中的运用.对于cocosbuilder的笔记过几天在整理,爬坑爬的心累. Cocostudio已经

JDBC4.0自动加载驱动器类

1 JDBC4.0自动加载驱动器类 2 从JDK1.6开始,Oracle就将修改了添加了新的加载JDBC驱动的方式.即JDBC4.0.在启动项目或是服务时,会判断当前classspath中的所的jar包,并检查META-INF目录下,是否包含services文件夹,如果包含,就会将里面的配置加载成相应的服务. 3 如Oracle11g的ojdbc6.jar包: 4 5 META-INF/services/jdbc.sql.Driver文件内容只有一行,即实现java.sql.Driver的类:

iOS开发——网络Swift篇&NSURLSession加载数据、下载、上传文件

NSURLSession加载数据.下载.上传文件 NSURLSession类支持三种类型的任务:加载数据.下载和上传.下面通过样例分别进行介绍. 1,使用Data Task加载数据 使用全局的sharedSession()和dataTaskWithRequest方法创建. 1 func sessionLoadData(){ 2 //创建NSURL对象 3 let urlString:String="http://hangge.com" 4 var url:NSURL! = NSURL(

Unity 侦听进入播放模式、Unity加载时初始化编辑器类

"Editor"文件夹下的PlayModeStateChangedHandler.cs using UnityEngine; using UnityEditor; //允许在 Unity 加载时初始化编辑器类,无需用户操作. [InitializeOnLoadAttribute] public static class PlayModeStateChangedHandler{ //初始化类时,注册事件处理函数 static PlayModeStateChangedHandler(){