Cocos-ext部分功能的使用:jsonCpp,CCTableView的滚动和“查看更多”

来源:互联网 发布:淘宝商城怎么注册 编辑:程序博客网 时间:2024/06/08 15:42


首先要添加引用:

#include "cocos-ext.h"
USING_NS_CC_EXT;

1、无法打开包括文件"cocos-ext.h" No such file or directory


今天忙了一天吧,搞了个CCEditBox,其路途艰辛兼蛋疼无数,终于修成正果。说说其中的问题(我的问题大家不一定出现,因人品而异),我先是在cocos2d-2.0-x-2.0.4版本下建了个项目,按照上面的配置好了,也在链接器中添加了相应的lib文件,如下图


写了些CCEditBox相关的程序,编译还是报错,如下:


后来我问了下别人,如下图搞了下还是不行,后来发现cocos2d-x 2.0.4中的TestCpp中并没有相关Editbox 的例子,所以我觉得是平台本身的问题。


我换了个cocos2d-2.1rc0-x-2.1.4版本,正常添加链接就OK了。


2、代理设置

public CCScrollViewDelegate,public public CCEditBoxDelegate

3、CCTableView的滚动

这几天写了个排行榜,要用到CCTableView来显示数据,涉及到一个"查看更多"按钮,如下图:


找了半天找到了方法,给大家分享下,其实也不难,只是有些函数方法不知道怎么用而已,我是在CocoChina上找到的,原文链接

http://www.cocoachina.com/bbs/read.php?tid=156032

4、用多线程时,线程函数必须是静态的 

5、Cocos2d-x  VS 下使用JsonCPP以及用cygwin打包到安卓手机详细步骤

_1、配置方法VS2008的相关链接:

http://blog.csdn.net/ningfuxuan/article/details/7617666

_2、在VS下的使用

先把JsonCPP下载下来,把下图路径中的json文件复制到项目的Classes中,


把生成的json_vc71_libmtd.lib文件复制到2d-x 的Debug目录中,如:F:\cocos2d-2.0-x-2.0.4\Debug.win32

使用时添加头文件即可,

//#pragma comment(lib, "json_vc71_libmtd.lib")
#include "json/json.h"

解析和打包如下:

void DataCenter::data_Parse(char a[]){Json::Reader reader;Json::Value jValue;reader.parse(a, jValue);std::string out = jValue["key1"].asString();rec=out;//取出数组中的数据/*const Json::Value arrayObj = jValue["array"];int nArrarySize = arrayObj.size();for (int i=0; i<nArrarySize; i++){out = arrayObj[i]["key2"].asString();std::cout << out;if (i != arrayObj.size() - 1)std::cout << std::endl;}std::string outAdd = jValue.toStyledString();Json::Value jValue2;reader.parse(outAdd, jValue2);std::string outAedd = jValue2.toStyledString();*///把数据打包成Json格式//Json::Value root;//Json::Value arrayObj;//Json::Value item;//for (int i=0; i<10; i++)//{//item["key"] = i;//arrayObj.append(item);//}//root["key1"] = "value1";//root["key2"] = "value2";//root["array"] = arrayObj;//root.toStyledString();//std::string outmyd = root.toStyledString();////m_Socket.Send(outmyd.c_str(),outmyd.length());}
_3、用Cygwin打包

首先把使用到的json项复制到相应的目录中:

我是把所有用到的东西保存到了json文件夹中了,json 目录中包含项如下图所示:

这些文件在下载的jsoncpp文件的jsoncpp-src-0.6.0-rc2\src\lib_json中所有文件和jsoncpp-src-0.6.0-rc2\include\json中的所有文件


此外还要配置Jni里的.mk文件,添加一句话:LOCAL_CPPFLAGS += -fexceptions


添加对应的3个相关.cpp文件:


打包即可,这时对应的文件路径要与在VS项目中的引用路径相同,如果在VS中引用的是#include "json/json.h",那么打包的时候要在Classes文件夹下建对应的json文件夹,保存所需的文件。