zoukankan      html  css  js  c++  java
  • 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();

        

    }

  • 相关阅读:
    list接口如何使用
    分页导航jsp
    jstl遍历list的jsp
    sql分页查询
    sql计算总页数
    类和对象,类定义了对象的特征和行为。属性,方法。
    编写一个带有main函数的类,调用上面的汽车类,实例化奔驰、大众、丰田等不同品牌和型号,模拟开车过程:启动、加速、转弯、刹车、息火,实时显示速度。
    java编写一个汽车类,有属性:品牌、型号、排量、速度,有方法:启动、加速、转弯、刹车、息火
    jenkins 集成 pytest + allure
    jenkins环境安装(windows)
  • 原文地址:https://www.cnblogs.com/luorende/p/6255622.html
Copyright © 2011-2022 走看看