存储:(key,value);两个参数,用来索引的字符串键值key,和要保存的字符串数据value。
读取:(key);一个参数,只需要根据key来读取相应的值。
删除:(key);移除一个存储的值后,无法再读取。
这种处理方式,类似Java中的Map。
2.简单案例(key,value)上面的方法需要两个参数,用来索引的字符串键值key,和要保存的字符串数据value。
假如我们要保存玩家持有的金钱数,假设键值为gold:
('gold',100);对于复杂的对象数据,我们可以通过将对象序列化为JSON后保存:
userData={name:'Tracer',level:1,gold:100};('userData',(userData));和setItem相对应,getItem方法只要一个键值参数就可以取出我们之前保存的值了。对于上文中储存的用户数据:
varuserData=(('userData'));3.数据加密对于单机游戏来说,对玩家存档进行加密可以延缓游戏被破解的时间。要加密存储数据,只要在将数据通过转化为字符串后调用你选中的加密算法进行处理,再将加密结果传入setItem接口即可。您可以搜索并选择一个适用的加密算法和第三方库,比如encryptjs,将下载好的库文件放入你的项目,存储时:
varencrypt=require('encryptjs');varsecretkey='open_sesame';//加密密钥vardataString=(userData);varencrypted=(dataString,secretkey,256);('userData',encrypted);读取时:
varcipherText=('userData');varuserData=((cipherText,secretkey,256));注意数据加密不能保证对用户档案的完全掌控,如果您需要确保游戏存档不被破解,请使用服务器进行数据存取。
二、使用1.常用APIjsb是javascriptbind的代表,整个C/C++导出的绑定都在这个jsb里面,jsb支持native,不支持h5(浏览器上无法运行jsbisnotdefined)。而且fileUtils是本地文件读写的一个工具类,全局只有一个实例。
2.简单案例({exts:,onLoad(){//获取全局的工具类的实例,;//如果是在电脑的模拟器上,就会是安装路径下模拟器的位置;//如果是手机上,那么就是手机OS为这个APP分配的可以读写的路径;//jsb--javascriptbinding--jsb是不支持h5的varwriteable_path=();(writeable_path);//要在可写的路径先创建一个文件夹varnew_dir=writeable_path+"new_dir";//路径也可以是外部存储的路径,只要你有可写外部存储的权限;//getWritablePath这个路径下,会随着我们的程序卸载而删除,外部存储除非你自己删除,否者的话,卸载APP数据还在;if(!(new_dir)){(new_dir);}else{("dirisexist!!!");}//读写文件我们分两种,文本文件,二进制文件;//(1)文本文件的读,返回的是一个string对象varstr_data=(new_dir+"/test_str_");(str_data);str_data="hellotest_write!!!!!"(str_data,new_dir+"/test_str_");//(2)二进制文件的读写,Uint8Array--js对象varbin_array=(new_dir+"/test_bin_");(bin_array[0],bin_array[1]);//使用这个就能访问二进制的每一个字节数据;(bin_array,new_dir+"/test_bin_");////删除文件和文件夹//(new_dir+"/test_bin_");//(new_dir);},});三、浏览器环境下写文件由于CocosCreator官方文档中没有提供跨平台的通用写文件接口。如果运行环境是浏览器,有一个替代方案可以实现把内容保存到文件,效果相当于下载了一个文件到本地。代码如下:
//保存字符串内容到文件。//效果相当于从浏览器下载了一个文件到本地。//textToWrite-要保存的文件内容//fileNameToSaveAs-要保存的文件名saveForBrowser(textToWrite,fileNameToSaveAs){if(){("浏览器");lettextFileAsBlob=newBlob([textToWrite],{type:'application/json'});letdownloadLink=("a");=fileNameToSaveAs;="DownloadFile";if(!=null){//Chromeallowsthelinktobeclicked//=(textFileAsBlob);}else{//FirefoxrequiresthelinktobeaddedtotheDOM//=(textFileAsBlob);=destroyClickedElement;="none";(downloadLink);}();}}四、CocosCreator读写本地的json文件关于CocosCreator读写本地json文件,我们单独给大家写一篇文章专门做介绍!
版权所有 © Copyright © 2002-2030 龙辉游戏资讯网站地图