cocos2dx配置信息保存

在cocos2dx的lua开发,保存和读取用户的配置信息时,用户配置信息可能保存了,可能没有保存,所以,我们需要在配置信息时,给一个默认的值;

尽管cocos2dx里面CCUserDefault这个类,但是我觉得不太好用,因为,使用的时候,需要每次都指定类型,字符串、整型,不是很方便。

我是用了,之前分享代码里面的overload方式,使得工具代码的使用者无需关心具体的细节,只要知道自己要保存什么,和默认的值是什么就行了

[1].[代码] [Lua]代码 跳至 [1]

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

getpref
= overloaded()

function

getpref
.string.number(key,defaultVal)

    local
userdata = CCUserDefault:sharedUserDefault()

    local
v = userdata:getStringForKey(key,"")

    v=
tonumber(v)

    if

not

v
then

        v
=defaultVal

    end

    

    return
v

end

function

getpref
.string.boolean(key,defaultVal)

    local
userdata = CCUserDefault:sharedUserDefault()

    return
userdata:getBoolForKey(key,defaultVal)

end

function

getpref
.string.string(key,defaultVal)

    local
userdata = CCUserDefault:sharedUserDefault()

    return
userdata:getStringForKey(key,defaultVal)

end

setpref
= overloaded()

function

setpref
.string.number(key,val)

    local
userdata = CCUserDefault:sharedUserDefault()

    userdata:setStringForKey(key,tostring(val))

end

function

setpref
.string.boolean(key,val)

    local
userdata = CCUserDefault:sharedUserDefault()

    userdata:setBoolForKey(key,val)

end

function

setpref
.string.string(key,val)

    local
userdata = CCUserDefault:sharedUserDefault()

    userdata:setStringForKey(key,val)

end

时间: 2024-12-29 15:45:35

cocos2dx配置信息保存的相关文章

VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)

注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.比如我们打开一个记事本,调整其窗口大小,使用完毕后关闭记事本,下次打开时大小和上次关闭前的大小和在屏幕上的位置是相同.这些位置和大小信息就是在记事本关闭时保存到注册表中,下次打开时我们从注册表中取出这些数据,并按照这些数据显示记事本程序的大小和位置信息. 下面教你如何使用GetProfileInt,WriteProfileInt,GetPro

C#应用配置信息保存和读取

//保存信息 SystemConfig.WriteConfigData("字段名称", "这里是需要保存的内容"); //读取信息 SystemConfig.GetConfigData("字段名称", string.Empty);

读取配置信息

ASP.NET Core的配置(1):读取配置信息 提到“配置”二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置信息定义在这两个文件之中.到了.NET Core的时候,很多我们习以为常的东西都发生了改变,其中也包括定义配置的方式.总的来说,新的配置系统显得更加轻量级,并且具有更好的扩展性,其最大的特点就是支持多样化的数据源.我们可以采用内存的变量作为配置的数据源,也可以直

保存form配置信息INI

(* 功能:IniFormState1 保存和读取 窗体的大小2 保存和读取 窗体在屏幕上的位置//让程序第1次出现在屏幕的中心点获取屏幕的中心点POSITION:poScreenCenter //不行*) //implementation//{$R *.dfm} uses IniFiles;//引用IniFiles /// 写入信息到ini文件   procedure WriteformState(section:string;fileName:string;form:TForm); var 

如何方便的保存WinForm窗体控件的位置大小等等配置信息

由于分辨率.屏幕主题.字体大小的不同,窗体显示效果在不同机器上不尽相同.窗体的弹性设计并不能满足多样的需求.为保证在各种情况下,能有满意的效果.窗体的多样显示方式能改变,并且保存.载入配置,显得很重要.我试写了个C#下的类,来做这件事.宗旨是使用方便,并且尽量小巧,载入快速,和可以扩展. 先说使用: 本类针对最常用的需要,如窗体位置.大小.和表格的列宽.进行设计.如果需要,可自行扩展. 这样简单的载入配置信息: private void FrmMain_Load(object sender, E

session的官方定义是:Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。 说白了session就是一种可以维持服务器端的数据存储技术。session主要有以下的这些特点: 1. session保存的位置是在服务器端 2. session一般来说是要配合cookie使用,如果是浏览器禁用了cookie功

session的官方定义是:Session:在计算机中,尤其是在网络应用中,称为"会话控制".Session 对象存储特定用户会话所需的属性及配置信息. 说白了session就是一种可以维持服务器端的数据存储技术.session主要有以下的这些特点: 1. session保存的位置是在服务器端 2. session一般来说是要配合cookie使用,如果是浏览器禁用了cookie功能,也就只能够使用URL重写来实现session存储的功能 3. 单纯的使用session来维持用户状态的话

IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值

json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在yourfile.json文件中保存了如下信息: { "user_message":{ "name":"lowman", "age":"14", }, "database":{ "USE

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

struts2的helloword(配置信息)

我用的struts包是struts-2.3.24.1,是比较新的版本,第一次刚开始接触struts的时候感觉是很兴奋的,把包下载下来后,看着教程安装部署,但是第一次运行helloword的时候竟然报错了,感觉写的跟教材的一摸一样,就是不知道为什么会报错.研究了一早上,也没研究出来,很让人头疼,后面有点想放弃,但是还是坚持了下来.终于把它配好了.在这儿写下我的配置过程,希望让大家少走弯路. struts2和struts1上配置区别还是比较大的,但是如果配好后,会发现其实两个差不多. struts2