在公司看视频回放时,我就在想,这么神奇,这到底是怎么实现的?
后来看了一下代码,发现有时候你觉得非常不可思议的事,其实很简单
其实也就是服务端把相应事件的发给客户端的数据保存下来,到客户端要回放了,就去服务端下载数据,再把游戏过程的流程自动跑一遍
其中就用到了XMLHttpRequest
XMLHttpRequest中提供GET和POST两种http请求方式,
返回数据类型有以下几种:
cc.XMLHTTPREQUEST_RESPONSE_STRING = 0 -- 返回字符串类型
cc.XMLHTTPREQUEST_RESPONSE_ARRAY_BUFFER = 1 -- 返回字节数组类型
cc.XMLHTTPREQUEST_RESPONSE_BLOB = 2 -- 返回二进制大对象类型
cc.XMLHTTPREQUEST_RESPONSE_DOCUMENT = 3 -- 返回文档对象类型
cc.XMLHTTPREQUEST_RESPONSE_JSON = 4 -- 返回JSON数据类型
local xhr = cc.XMLHttpRequest:new() --http请求
xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_JSON --请求类型
local url = string.format("http://%sjson/%s.json", NetConfig_getInstance():getHttpDomain(), videoId) --服务端保存数据的位置与名称
xhr:open("GET", url)
local function onResponse()
local str = xhr.response --获得返回数据
tools.sav