主要使用到的是cocos2dx封装的HTTPCLIENT类来连接服务器。服务器后端使用php来返回数据和client交互。UI控件EDITBOX的使用,scheduleOnce的延时调用!
认证过程:
1.客户端发送 username和password 给服务器端;
2.服务器核对用户名和密码(可以用数据库里的数据mysql,查询是否存在用户并比对user和password的值);
3.服务器返回给client端 信息
4.客户端根据服务器返回的信息,判断是否进入游戏和其他处理(可以做更多的处理,新建账号保存等)
具体代码:
客户端代码使用HloginGame.h和HloginGame.cpp
HloginGame.h
#ifndef __HloginGame__HloginGame__
#define __HloginGame__HloginGame__
#include "cocos2d.h"
#include "extensions/cocos-ext.h"
// HTTP
#include "network/HttpClient.h"
#include "network/HttpRequest.h"
#include "network/HttpResponse.h"
USING_NS_CC;
USING_NS_CC_EXT;
using namespace cocos2d::network;
class HloginGame : public cocos2d::Layer
{
public:
virtual bool init();
static cocos2d::Scene* createScene();
CREATE_FUNC(HloginGame);
EditBox* p_User_EditBox;
EditBox* p_Psw_EditBox;
LabelTTF* m_labelStatusCode;
void btncallback(Ref* pSender);
void onHttpRequestCompleted(HttpClient* client, HttpResponse* response);
void running(float dt);
int r;
//
void onExit();
void onEnterTransitionDidFinish();
};
#endif
HloginGame.cpp
#include "HloginGame.h"
#include "Hloading.h"
#include "HMenu.h"
#include "SimpleAudioEngine.h"
USING_NS_CC;
using namespace CocosDenshion;
Scene* HloginGame::createScene()
{
auto scene = Scene::create();
auto layer = HloginGame::create();
scene->addChild(layer);
return scene;
}
bool Hlo