cocos2d-x lua 使用http(下载图片, POST JSON)
cocos2d-x lua 使用http(下载图片, POST JSON)
version: cocos2d-x 3.6
1.使用http post json与服务器交互
require("src/cocos/cocos2d/json")
require("src/cocos/network/NetworkConstants")
-- post json
local xhr = cc.XMLHttpRequest:new()
xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_JSON
xhr:setRequestHeader("Content-Type", "application/json")
xhr:open("POST", "www.baidu.com")
local function loginCallback()
print("xhr.readyState is:", xhr.readyState, "xhr.status is: ", xhr.status)
if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then
local response = xhr.response
local output = json.decode(response)
-- print
table.foreach(output, function(i, v) print (i, v) end)
-- success ...
else
-- fail ...
end
end
xhr:registerScriptHandler(loginCallback)
xhr:send(sendJson)
2.使用http get下载网络图片
-- get (image)
pSprite:retain() -- a sprite
local xhr = cc.XMLHttpRequest:new()
-- tag
xhr._urlFileName = urlFileName
xhr._urlSprite = pSprite
xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING
xhr:open("GET", "http://cocos2d-x.org/s/images/img-cocos2dx.jpg")
local function onDownloadImage()
print("xhr.readyState is:", xhr.readyState, "xhr.status is: ", xhr.status)
if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then
local fileData = xhr.response
local fullFileName = cc.FileUtils:getInstance():getWritablePath() .. "/" .. xhr._urlFileName
local file = io.open(fullFileName,"wb")
file:write(fileData)
file:close()
local texture2d = cc.Director:getInstance():getTextureCache():addImage(fullFileName)
local pSprite = xhr._urlSprite
if texture2d then
pSprite:setTexture(texture2d)
end
pSprite:release() -- be careful
end
end
xhr:registerScriptHandler(onDownloadImage)
xhr:send()
- 在使用xhr时,可以添加自己的数据(如:
xhr._urlSprite = pSprite),存放用户的临时数据,方便返回时使用。
cocos2d-x lua 使用http(下载图片, POST JSON)的更多相关文章
- cocos2dx-lua http请求下载图片,使用XMLHttpRequest类
HttpFileDownLoadSimple.lua local downloader = {} --数据拆分,以没1024*5字节拆成一段,打包写入文件 (拆完再拼接,转成字符串) local fu ...
- C++根据图片url下载图片
需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...
- .net 已知图片的网络路径,通过浏览器下载图片
没什么技术含量,主要留给自己查找方便: 如题,知道图片的完整网络路径的情况下,在浏览器中下载图片的实现: 下面这个方法实现的是把图片读取为byte数组: private byte[] GetImage ...
- (TODO:)下载图片,报错:warning: could not load any Objective-C class information from the dyld shared cache. This will significantly reduce the quality of type information available.
想使用NSInvocationOperation下载图片,然而并没有下载下来, NSData为nil, 还有报错:(打断点就报错) warning: could not load any Object ...
- Android 本地/网路下载图片实现放大缩小
Android 本地加载/网路下载图片实现放大缩小拖拉效果,自定义控件. package com.example.ImageViewCustom; import android.app.Activi ...
- 利用node来下载图片到本地
本文是针对于知道图片地址的下载图片方法. 同时也是我的处男作(额,怪怪的〜);不要在意这些细节. 最近在弄项目迁移,需要把http的链接全换成https的:以前的cms不支持http的协议,然后就 ...
- SDWebImage下载图片有时候无法成功显示出来
之前用下面的方法现在图片,有时候会出现图片没有下载成功显示: - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)p ...
- 根据url地址单个或批量下载图片
我们在java开发的时候会遇到通过url地址下载图片的情况.方便起见,我把通过url地址下载图片封装了tool工具类,方便以后使用 1.根据如:http://abc.com/hotels/a.jpg ...
- 使用HttpURLConnection下载图片
import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.Ht ...
随机推荐
- 【暑假】[基本数据结构]根据BFS与DFS确定树
UVa10410 Tree Reconstruction 算法:根据BFS构造pos数组以区分关系,在此基础上对DFS序列操作.注:栈中存父结点,栈顶是最优先的父结点. 代码如下: #include& ...
- JAVA中的数据结构——集合类(序):枚举器、拷贝、集合类的排序
枚举器与数据操作 1)枚举器为我们提供了访问集合的方法,而且解决了访问对象的“数据类型不确定”的难题.这是面向对象“多态”思想的应用.其实是通过抽象不同集合对象的共同代码,将相同的功能代码封装到了枚举 ...
- (转)Http协议经典详解
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象 ...
- Gym 100507C Zhenya moves from parents (线段树)
Zhenya moves from parents 题目链接: http://acm.hust.edu.cn/vjudge/contest/126546#problem/C Description Z ...
- mysql从一个表中拷贝数据到另一个表中sql语句
这一段在找新的工作,今天面试时,要做一套题,其中遇到这么一句话,从一个表中拷贝所有的数据到另一个表中的sql是什么? 原来我很少用到,也没注意过这个问题,面试后我上网查查,回来自己亲手写了写,测试了下 ...
- Windows 下如何设置 只允许固定IP远程访问
通过设置IP安全策略限制固定IP访问 说明: (1)以XP环境为例,步骤:先禁止所有IP,再允许固定IP访问. (2)配置过程中很多步骤图是重复的,一些没价值的图就省略了: (3)光看的话可能中间重复 ...
- 初识FreeMarker
一.什么是FreeMarker? FreeMarker基于设计者和程序员是具有不同专业技能的不同个体的观念 他们是分工劳动的:设计者专注于表示——创建HTML文件.图片.Web页面的其它可视化方面: ...
- idea 搭建java项目
IntelliJ IDEA 12.0搭建Maven Web SSH2架构项目示例 以IDEA为环境,搭建SSH架构示例程序,用Maven管理依赖.这篇文章是一个示例,你需要首先搭建好M ...
- 添加MIME类型
#查看站点test01下所有的MIME类型: Get-WebConfiguration -PSPath MACHINE/WEBROOT/APPHOST/test01 -Filter system.we ...
- 极域电子教室 e-Learning Class V4 2010专业版 学生机 卸载方法
学校的机房一般都会装教师机远程控制学生机的软件.比如我们学校装的就是"极域电子教室 e-Learning Class V4 2010专业版",上课的时候直接强制全屏远控,卸载又提示 ...