cocos2dx 3.x(加载网络自定义头像)
//
// Connection.h
// XXDemo
//
// Created by LeeHonGee on 14-9-4.
//
//
#ifndef __XXDemo__Connection__
#define __XXDemo__Connection__
#include <iostream>
#include "cocos2d.h"
#include "network/HttpClient.h"
USING_NS_CC;
using namespace std;
using namespace cocos2d::network;
class Connection{
public:
void doHttpRequest(const char* url,const char* requestData,const char* tag,const ccHttpRequestCallback& callback);
void onHttpRequestImageCompleted(HttpClient *sender, HttpResponse *response);
private:
//获取请求网络图片资源
Texture2D* texture;
};
#endif /* defined(__XXDemo__Connection__) */
//
// Connection.cpp
// XXXDemo
//
// Created by LeeHonGee on 14-9-4.
//
//
#include "Connection.h"
/**
编译到Android平台之后注意添加联网权限
**/
void Connection::doHttpRequest(const char* url,const char* requestData,const char* tag,const ccHttpRequestCallback& callback){
HttpRequest* request = new HttpRequest();
request->setUrl(url);
request->setRequestType(HttpRequest::Type::POST);
//这是回调对象和回调函数
request->setResponseCallback(callback);
request->setTag(tag);
//请求的数据
if(strlen(requestData)!=0){
request->setRequestData(requestData,strlen(requestData));
}
HttpClient::getInstance()->send(request);
//释放内存
request->release();
}
void Connection::onHttpRequestImageCompleted(HttpClient *sender, HttpResponse *response){
if (!response)
{
return;
}
// You can get original request type from: response->request->reqType
const char* tag = response->getHttpRequest()->getTag();
if (0 != strlen(tag))
{
log("%s completed", response->getHttpRequest()->getTag());
}
if (!response->isSucceed())
{
log("error buffer: %s", response->getErrorBuffer());
return;
}
std::vector<char> *buffer = response->getResponseData();
//create image
Image* image = new Image;
image->initWithImageData((unsigned char*)buffer->data(),buffer->size());
//create texture
texture = new Texture2D();
bool isImage = texture->initWithImage(image);
if(isImage){
log("Texture2D 初始化!");
}
image->release();
}
cocos2dx 3.x(加载网络自定义头像)的更多相关文章
- Android必学-异步加载+Android自定义View源码【申明:来源于网络】
Android必学-异步加载+Android自定义View源码[申明:来源于网络] 异步加载地址:http://download.csdn.net/detail/u013792369/8867609 ...
- android webview加载网络连接
webview = (WebView) findViewById(R.id.webview); WebSettings webSettings = webview.getSettings(); //设 ...
- UITableView加载网络数据的优化
UITableView加载网络数据的优化 效果 源码 https://github.com/YouXianMing/Animations // // TableViewLoadDataControll ...
- 使用CEfSharp之旅(1) 加载网络页面
原文:使用CEfSharp之旅(1) 加载网络页面 版权声明:本文为博主原创文章,未经博主允许不得转载.可点击关注博主 ,不明白的进群191065815 我的群里问 https://blog.csdn ...
- 使用异步任务加载网络上json数据并加载到ListView中
Android中使用网络访问来加载网上的内容,并将其解析出来加载到控件中,是一种很常见的操作.但是Android的UI线程(也就是主线程)中是不允许进行耗时操作的,因为耗时操作会阻塞主线程,影响用户体 ...
- Universal-Image-Loader解析(三)——用ListView和ViewPager加载网络中的图片
现在我们终于可以通过这个框架来实现ListView中加载图片了,至于ViewPager还是别的,原理其实都是一样的 一.ListView 1.布局文件 list_layout.xml & ...
- [每天记录一个Bug]Cell中由于block加载网络请求产生的复用
Bug 出现场景: cell中使用加载图片的网络请求出现复用,截图如下: 复用原因: Cell Model中只有一个用户的uid,所有用户相关信息:例如头像\名称\信息等是通过 ...
- Android之ListView&Json加载网络数据
使用到的主要内容: 1.Json 解析网络数据 2.异步任务加载图片和数据 3.ListView 的内存空间优化(ConvertView)和运行时间优化(ViewHolder) 4.ListView ...
- 加载网络映射盘中的assembly失败
我有一个网络映射盘,盘符是Z:.在Z盘下面,放了一个assembly,名为test.dll.然后,我在VS2010中建立了一个.NET 4.0的工程,程序中有下面一段代码: string dll = ...
随机推荐
- Windows8下安装ubuntu
这类文章堪称多如牛毛,也有很多种方法.此处记录的是我试验成功的一种,Windows 8 + ubuntu + easyBCD,简单粗暴,只记操作,不讲原理. 一.腾空间 在Windows下,首先要给u ...
- tensorflow 的tf.where详解
最近在用到数据筛选,观看代码中有tf.where()的用法,不是很常用,也不是很好理解.在这里记录一下 tf.where( condition, x=None, y=None, name=None ) ...
- debian安装nodejs
https://nodejs.org/en/download/ 二进制安装 sudo wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux ...
- maven添加settings.xml使用阿里云仓库
在~/.m2/repository目录下新建settings.xml,内容如下: <mirrors> <!-- mirror | Specifies a repository mir ...
- ionic cordova screenshot 使用和操作
如何调用cordova 中的screenshot插件进行截图 首先添加 ionic cordova plugin add com.darktalker.cordova.screenshot npm i ...
- Linux的磁盘系统和文件系统显示的文件大小为什么不一样(du指令和ls指令的区别)
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- Chap1 引言[The Linux Command Line]
附上链接:http://billie66.github.io/TLCL/book/chap01.html Content: part1-Introduction part2-Learning The ...
- iOS自定义结构体
一.提要 通过以官方的CGSize为例,自定义Objective-C中的结构体,并使用. 二.CGSize 1.系统定义的CGSize结构体 struct CGSize { CGFloat width ...
- EntityFramework_基础
什么是EF EF是一种ORM(Object-relational mapping)框架,它能把我们在编程时使用对象映射到底层的数据库结构.它可以让应用程序开发者将关系型数据作为业务模型来使用,也消除了 ...
- 以CENTOS6.8系统为例部署ORACLE11g RAC和DNS配置
本文所需要的全部文档均位于文末附录中 本文章以两个节点为例进行安装 在virtual box创建虚拟机时,网卡1为桥接网卡,网卡二为仅主机模式 创建两块磁盘,模式设置为可共享,都添加到两个虚拟机中 在 ...