CocosCreator知识库(五)_本地存储(localStorage)

在游戏开发过程中,如果能将游戏数据保存在起来,当下次进入

游戏时该数据任然存在;

就像一般游戏保存游戏进度一样,对开发和测试都是很方便的,

特别是对于客户端不会服务器又想实现服务器端效果的开发者;

这里简要介绍CocosCreator开发中的本地数据存取

(sys.localStorage):

   存储数据:cc.sys.localStorage.setItem(“key”,”value”)

   获取数据:cc.sys.localStorage.getItem(“key”)

   移除数据:cc.sys.localStorage.removeItem(“key”)

   清除所有:cc.sys.localStorage.clear()

Demo1=>存储本地数据:

//分数写到本地( 当前分 最高分 历史记录)
updateScore: function() {
var currentScore = this.scoreDisplay.string;
var scoreData = {
'score':currentScore,
'time': D.common.timeFmt( new Date(), 'yyyy-MM-dd hh:mm:ss'),
};
var preData = cc.sys.localStorage.getItem( 'score');
var preTopScore = cc.sys.localStorage.getItem( 'topScore');
if (!preTopScore || parseInt(preTopScore) < parseInt(currentScore)){
cc.sys.localStorage.setItem( 'topScore', currentScore);
}
if(!preData){
preData = [];
preData.unshift(scoreData);
} else {
preData = JSON.parse(preData);
     if (!(preData instanceof Array)){
preData = [];
}
preData.unshift(scoreData);
}
cc.sys.localStorage.setItem( 'currentScore', currentScore);
cc.sys.localStorage.setItem( 'score', JSON.stringify(preData));
},


Demo2=>模仿UserDefault实现数据封装:

var LocalManager = {

setBool: function(_key,_value){
cc.sys.localStorage.setItem(_key,_value.toString())
},

getBool: function(_key){
return cc.sys.localStorage.getItem(_key) == "false" ? false : true
},

setInt: function(_key,_value){
cc.sys.localStorage.setItem(_key,_value.toString())
},

getInt: function(_key){
return Number(cc.sys.localStorage.getItem(_key))
},

setString: function(_key,_value){
cc.sys.localStorage.setItem(_key,_value)
},

getString: function(_key){
return cc.sys.localStorage.getItem(_key)
},

setObject: function(_key,_value){
cc.sys.localStorage.setItem(_key,JSON.stringify(_value))
},

getObject: function(_key){
return JSON.parse(cc.sys.localStorage.getItem(_key))
},
},


Demo3=>流程参考:

var BaseLocalData = {};
/*
* 写入数据,将数据存储在本地
* @param jsonName:json文件名字
*/
var baseData = [{a: 1},{b: 2},{c: 3},{d: 4},{e: 5},{f: 6},{g: 7}];
BaseLocalData.setItem = function(jsonName)
{
var baseData = JSON.stringify(jsonName);
sys.localStorage.setItem( "baseData", baseData);
};
/*
* 读取基础数据
* 还回json格式数据
*/
BaseLocalData.getItem = function()
{
var baseData1 = JSON.stringify(baseData); //将json格式转换成string
sys.localStorage.setItem( "baseData", baseData1); //将数据存储在本地
var baseDataa = sys.localStorage.getItem( "baseData"); //从本地读取数据
baseDataa = JSON.parse(baseDataa); //将string转换成json
return baseDataa;
};
/*
* 删除数据
*/
BaseLocalData.deleteItem = function()
{
sys.localStorage.removeItem( "baseData");
};

你可能感兴趣的:(CocosCreator知识库,CocosCreator项目,CocosCreator,localStorage,本地存储,CocosCreator,cocos-js)