实现
该工具类对Cocos2d-x中的HttpClient进行了封装,使可以在Lua中实现http异步请求。
#ifndef __LUAHTTPCLIENT_H__
#define __LUAHTTPCLIENT_H__
#include "cocos2d.h"
USING_NS_CC;
#include "cocos-ext.h"
USING_NS_CC_EXT;
// 参数封装类
class LuaParams{
public:
static LuaParams* create(){
LuaParams* params = new LuaParams(); // 参数在回调后释放
params->setTypeName("nil");
return params;
};
static LuaParams* create(const char* url,
int func,
const char* data,
CCObject* obj ,
const char* typeName = "nil"){
LuaParams* params = new LuaParams();
params->setData(data);
params->setUrl(url);
params->setFunc(func);
params->setCCObjct(obj);
params->setTypeName(typeName);
return params;
};
void setFunc(int func_){
func = func_;
};
int getFunc(){
return func;
};
void setCCObjct(CCObject* obj_){
obj = obj_;
};
CCObject* getCCObjct(){
return obj;
};
void setTypeName(const char* typeName_){
typeName = typeName_;
};
const char* getTypeName(){
return typeName.c_str();
};
void setUrl(const char* url_){
url = url_;
};
const char* getUrl(){
return url;
};
void setData(const char* data_){
data = data_;
};
const char* getData(){
return data;
};
private:
/** POST请求数据 **/
const char* data;
/** 请求地址 **/
const char* url;
/** Lua回调方法 **/
int func;
/** 用户数据 **/
CCObject* obj;
/** 用户数据类型名称 **/
std::string typeName;
};
// Lua异步http请求工具类
class LuaHttpCl