赞
踩
众所周知,JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率,也是众多游戏保存存档的选择。
那么,该如何使用GameMaker来导入JSON文件呢?
注意:在观看此文章前,你需要了解JSON的相关知识。
首先,让我们来看看JSON的两种码风:
- {
- "key":"value",
- "key2":0,
- "json":{
- "key3":"value2",
- "key4":1
- },
- "json2":{
- "key5":"value3",
- "key6":"2"
- }
- }
{"key":"value","key2":0,"json":{"key3":"value2","key4":1},"json2":{"key5":"value3","key6":"2"}}
以上这两种码风都可以被一个脚本导入,让我们来看看怎么做。(注:你需要将JSON文件放入GameMaker工程的外部文件里。)
新建一个GML语言的GameMaker项目,再新建一个脚本,叫他Json_Load,之后把这个脚本内的代码删除,然后再写入如下两种中任意一种代码。
- ///@arg file
- function Json_Load(){
- var file=argument[0];
- }
- function Json_Load(file){
-
- }
在之后,我们往function体内写入如下代码:
- var JSON=file_text_open_read(file);
- var json_str="";
这串代码将会打开我们调用函数时所填入的JSON文件的路径,并将其id存入本地变量JSON里,再创建一个本地变量json_str,并为其赋值空string,用于存储读写到的JSON文件中的字符。
打开JSON文件之后,我们就可以正式开始读写了。
- while(!file_text_eof(JSON)){ //如果没有到达JSON文件的末尾,则继续读取。
- json_str+=file_text_read_string(JSON);//以String格式获取文件本行字符。
- file_text_readln(JSON);//读取文件的下一行。
- }
- file_text_close(JSON);//读取完毕,关闭文件。
在读写完之后,我们就获得了一个合法的JsonString,接着,我们将要把它转换成GameMaker中的map并返回,以进行读取。
return json_decode(str);//利用GameMaker的函数将合法的JsonString转换为ds_map并返回
这一切完成之后,我们就完成了对JSON外部文件的读写脚本,你不妨测试一下,如有BUG,可联系我修改。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。