cocos creator(12)

1.数据存储

先运行一次存储数据

//储存对象,使用键值对的方法 封装H5
 cc.sys.localStorage.setItem("name","蝙蝠侠");

‘再获取数据

const {ccclass, property} = cc._decorator;

@ccclass
export default class NewScript extends cc.Component {

 
    start () {
        //储存对象,使用键值对的方法 封装H5
        //cc.sys.localStorage.setItem("name","蝙蝠侠");
        //获取数据
        let name = cc.sys.localStorage.getItem("name");
        console.debug(name);        
    }
    
    

    // update (dt) {}
}

在这里插入图片描述

//移除单个数据
cc.sys.localStorage.removeItem("name");   

//清空数据
cc.sys.localStorage.clear();

2.Json数据

const {ccclass, property} = cc._decorator;

class Person{
    id:number;
    name:string;
    wugong:string[];
    //...
}

@ccclass
export default class NewScript extends cc.Component {

 
    start () {
        /*
        json;
        数据格式:json xml csv 写文本
        客户端 - 客户端
        游戏存档 -> 地图,坐标,人物,等级,属性,物品...
        */
    
        let person: Person = new Person();
        person.id = 10;
        person.name = "李逍遥";
        person.wugong = ["降龙十八掌","独孤九剑"];
        //对象->字符串
        /*
            json {}代表对象  []代表数组
            '{"id":10,"name":"李逍遥","wugong":["降龙十八掌","独孤九剑"]}'

        */
       //对象 -> Json 序列化
        let json = JSON.stringify(person); //把person对象的内容转为Json字符串
        
        //存本地
        cc.sys.localStorage.setItem("save1",json);
        
        //json -> 对象 反序列化
        let person2:Person = Object.assign(new Person(),JSON.parse(json));
        console.debug(person2.wugong[1]);
    }
    
    

    // update (dt) {}
}

在这里插入图片描述
当给到一个Json数据是想要反序列化它时,需要创建一个类与他的属性相对于

3.数据格式

Json的存储形式

/*
        Json格式
        [{
            "id":10
            "name" : "李逍遥"
            "wugong":[
                "降龙十八掌","独孤九剑"
            ]
        },{
            "id":2
            "name":"李逍遥"
            "wugong":[
                "魔刃","翻云覆雨"
            ]
        }]
    */

XML的存储形式
xml容量比json大,当数据量特别复杂时用xml比较好

/*
        <root>
            <person id="10">
                <nmae>李逍遥</name>
                <wugong>降龙十八掌,独孤九剑</wugong>
            </person>
            <person id="2">
                <nmae>王小虎</name>
                <wugong>魔刃,翻云覆雨</wugong>
            </person>
        </root>
    */

csv的存储形式

 /*
        10,李逍遥,降龙十八掌/独孤九剑
        2,王小虎,魔刀/翻云覆雨
   */

4.网络请求

在这里插入图片描述
响应头能获取响应体的type和length,响应体当前下载大小/总大小,就是目前下载进度
在这里插入图片描述
?之前访问的是服务器的文件
在这里插入图片描述
在这里插入图片描述

通过代码获取json

const {ccclass, property} = cc._decorator;



@ccclass
export default class NewScript extends cc.Component {

 
    start () {
        //url
        let url = "https://v.api.aa1.cn/api/ximalaya/";
        //请求
        let request = cc.loader.getXMLHttpRequest();
        request.open("GET",url,true);//方式,url,是否异步
        request.onreadystatechange = ()=>{//是否回调
            //请求状态改变都会回调
            //请求结束后,获取信息
            if(request.readyState == 4 && request.status == 200){//状态码0,1,2,3都是进行,4是请求结束,请求成功一般是200
                console.debug("请求完成")
                //获取json字符串
                console.debug(request.responseText);
            }
        };
        //开始请求
        request.send();
    }
    
  
}

不能跨域访问api*

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值