ini文件的数据存储和读取
不动king 发表于 2013-06-21 09:12:05 4092

本帖最后由 Autukill 于 2014-6-11 09:04 编辑

【GM版本】: GM8.0
【注册】: 是
【文件类型】: .zip
【文件大小】: 12Kb
【文件链接】: 仅 .gmk , ZIP 文件
【插件要求】: 百度盘
【标签】:教程, 范例


范例说明:
实例一创建便会读取游戏目录下save.ini的内容,上下键会改变第六名的分数,Q为保存退出。
比较适用于游戏分数和部分资料的保存。
[attach]17[/attach]
重点函数:
ini_open
ini_read_string
ini_read_real
ini_weite_string
ini_write_real
ini_close


注意:
这个可以在GM8.0、GMS中使用
不过在GMS中,系统还会生成一个ini文件到系统存档中,所以游戏目录下的save.ini只能发挥一次作用,是不是很奇怪。

下载链接
百度盘: http://pan.baidu.com/share/link?shareid=719779678&uk=1275260468
[hr]

【Autukill补充】

GMS采用新的文件系统sandbox,无法操作EXE运行目录及存储目录以外的文件。

open_ini(“ForExample.ini”)在调用时,会检测运行目录和存储目录中是否存在文件ForExample.ini。
[list]
[*]如果都不存在,会自动创建这个ini文件。
[*]如果运行目录中存在,即你在GMS中include了这个INI文件,那么在第一次运行程序的时候,会加载这个文件,并另存为到存储目录下
[*]如果存储目录中存在“ForExample.ini”,永远操作的对象都是这个文件。
[/list]不能使用文件名save.ini,它是GMS默认使用的一个INI文件,也被存储到了存储目录中。

Win下的存储目录,位于C:\Users\Administrator\AppData\Local +项目名称

最新回复 (19)
  • 断水 发表于 2014-02-27 04:26:02
    0 2
    所以游戏目录下的save.ini只能发挥一次作用
    下一次有效是系统存档么
  • uouo 发表于 2013-07-29 04:29:28
    0 3
    非常想看看
  • 小maker 发表于 2013-08-02 03:59:37
    0 4
    {:3_42:}
  • libido 发表于 2013-10-08 11:19:59
    0 5
    刚好拿这个范例开刀学习ini
  • 我就是我自己 发表于 2013-10-12 02:16:58
    0 6
    谢谢了,学习!
  • 花生米 发表于 2013-12-12 10:07:39
    0 7
    学习中
  • 三年级的曹镐喆 发表于 2014-01-27 08:12:41
    0 8
    下载了,顶一个
  • TZYT 发表于 2014-01-27 10:56:03
    0 9
    来研究一下。。
  • kangmasha 发表于 2014-03-18 03:06:31
    0 10
    感谢分享!!
  • juziye 发表于 2014-05-21 02:53:27
    0 11
    学习一下ini的相关
  • k999kyo 发表于 2014-05-24 03:55:56
    0 12
    支持楼主 继续努力
  • a438305619 发表于 2014-05-24 09:29:01
    0 13
    谢谢,不动老师~~~~
  • 帅哥 发表于 2014-05-24 08:29:43
    0 14
    我想看看
  • mouse81 发表于 2014-05-26 05:15:26
    0 15
    这个例子用gms根本就运行不起来啊,报错!
    ERROR in
    action number 1
    of Create Event
    for object o_socre:

    ini_read_real wrong type of arguments
    at gml_Object_o_socre_CreateEvent_1 (line 11) - score_s[1] = ini_read_real("list_score", "score_s1", "0")
  • mouse81 发表于 2014-05-26 05:39:07
    0 16
    Quotemouse81 发表于 2014-5-26 17:15
    这个例子用gms根本就运行不起来啊,报错!
    ERROR in
    action number 1


    问题解决了,在GMS下

    //reading//
    ini_open("save.ini")
    score_n[1] = ini_read_string("list_name", "score_n1", "0")
    score_n[2] = ini_read_string("list_name", "score_n2", "0")
    score_n[3] = ini_read_string("list_name", "score_n3", "0")
    score_n[4] = ini_read_string("list_name", "score_n4", "0")
    score_n[5] = ini_read_string("list_name", "score_n5", "0")
    score_n[6] = ini_read_string("list_name", "score_n6", "0")

    score_s[1] = ini_read_real("list_score", "score_s1", 0)
    score_s[2] = ini_read_real("list_score", "score_s2", 0)
    score_s[3] = ini_read_real("list_score", "score_s3", 0)
    score_s[4] = ini_read_real("list_score", "score_s4", 0)
    score_s[5] = ini_read_real("list_score", "score_s5", 0)
    score_s[6] = ini_read_real("list_score", "score_s6", 0)

    ini_close()

    读取数字的要用数字0,不能用"0";

    范例中的代码是
    问题解决了,在GMS下

    //reading//
    ini_open("save.ini")
    score_n[1] = ini_read_string("list_name", "score_n1", "0")
    score_n[2] = ini_read_string("list_name", "score_n2", "0")
    score_n[3] = ini_read_string("list_name", "score_n3", "0")
    score_n[4] = ini_read_string("list_name", "score_n4", "0")
    score_n[5] = ini_read_string("list_name", "score_n5", "0")
    score_n[6] = ini_read_string("list_name", "score_n6", "0")

    score_s[1] = ini_read_real("list_score", "score_s1", "0")
    score_s[2] = ini_read_real("list_score", "score_s2", "0")
    score_s[3] = ini_read_real("list_score", "score_s3", "0")
    score_s[4] = ini_read_real("list_score", "score_s4", "0")
    score_s[5] = ini_read_real("list_score", "score_s5", "0")
    score_s[6] = ini_read_real("list_score", "score_s6","0")

    ini_close()

    读取数字的要用数字0,不能用"0";
  • Autukill 发表于 2014-05-26 07:38:46
    0 17
    ini存在于目录
    C:\Users\Administrator\AppData\Local +项目名称

    GMS中使用INI操作时,如果没有相关的字段和文件时,GMS能够自动创建他们
  • Autukill 发表于 2014-06-10 09:12:53
    0 18
    更新了帖子内容,当载入GMS后,源码会存在错误。
  • yanling 发表于 2014-09-02 11:41:54
    0 19
    你好,这个in 是针对 PC 平台。 请问, 关于移动平台。如 安卓手机。 存档会放在哪里。还有,怎么调用SD卡文件? 能出教程吗? 本人 E 文 小白没办法去官网找这个教程。