• 欢迎来到GeekFaner

    每周更新一篇教程,轻松学习cocos2d-x

    联系我们
  • 又是一个美好的一天

    每天的太阳都是新的,今天要比昨天好

    联系我们
  • 出发!

    开始今天的课程学习,让我们的明天更美好

    联系我们

课程概述

“Cocos2d-X网络传输-将“跳跃的小人”的分数传到服务器端数据库”课程概述

在之前的课程中我们学习了如何将数据保存在手机本地,而另外一种存储方式是将数据存到服务器端数据库里,这个功能让单机游戏变成了网游

教学视频

课程笔记

Demo解读

加入了网络功能之后,单机游戏就变成了网络游戏。cocos2dx封装了一些和网络相关的类

引入头文件和命名空间:#include "network/HttpClient.h" #include "network/HttpRequest.h" using namespace cocos2d::network;(c++可以同时引入多个命名空间,只需要在使用到一个函数存在于多个命名空间的时候,在调用函数的时候前面加上命名空间::即可)

实例化一个HttpRequest对象,定义该对象的get/post方法,一般情况下见名知意,get是从网页拿数据,post是往网页传输数据。get的话可以将参数放在url中,post则需要专门传入一些参数。通过HttpRequest对象的setRequestType进行设置。通过setUrl函数设置url。通过setTag可以给请求设置tag。如果请求的类型为post,可以通过setRequestData传入参数为char*和对应的长度,将key-value参数传入网页。通过HttpClient::getInstance()->send参数为请求,将请求发送出去。通过setResponseCallback设置请求的回调函数,回调函数的参数为一个HttpClient对象,一个HttpResponse对象,通过HttpResponse对象response->getHttpRequest()->getTag()可以拿到请求的tag,通过response的getResponseCode方法可以知道请求的返回值多少,从而判断请求的结果,通过response的isSucceed方法可以知道请求是否成功,通过response的getResponseData方法可以拿到请求的值(网页的全部html源码)。请求结束后,调用请求的release函数,进行释放,如果不这样做的话,HttpClient将无限期地等待一个连接释放

需要注意的是,如果你是Android环境,不要忘了在您的应用程序的Manifest 中增加相应的权限:《uses-permission android:name=”android.permission.INTERNET” /》

联系我们

笔者制作网站的目的,主要是借用自己之前的知识背景(Android App开发和图形学知识),将自己学习笔记拿出来,和大家一起进行交流,毕竟每个人的知识体系不同,有交流才会有提高,所以欢迎大家通过各种方式和我联系。
网址:www.geekfaner.com
youku教学视频:http://i.youku.com/geekfaner
“百度传课”教学视频(高清版_推荐):http://www.chuanke.com/s2588605.html

wangshuo@geekfaner.com