gamemaker学习笔记:读取JSON
读取json本身不是什么大件事情,发现读取的时候有点瑕疵。也遇到一个内存暴涨的问题。先记录一下读取相关的代码。
在script里面创建一个脚本 load_json
var url = argument0;var file = file_text_open_read(url);
var jsonData = "";while (!file_text_eof(file))
{jsonData += file_text_read_string(file);file_text_readln(file);
}file_text_close(file);show_debug_message(jsonData);var JsonMap = json_decode(jsonData);//解码json
var list = ds_map_find_value(JsonMap, "default");var totalNum = ds_list_size(list);
var gridData = ds_grid_create(totalNum,5);for (var i = 0; i < totalNum; i++)
{var curMapItem = ds_list_find_value(list, i);gridData[# i, 0] = curMapItem[? "a"];gridData[# i, 1] = curMapItem[? "b"];
}ds_map_destroy(JsonMap);return gridData ;
读取json后,转换了一些grid结构的数据,面对一个json的时候,在没压缩的时候,如果数据量大一点就会读取卡顿的现象。导致体验有点差,后来想了一个办法,压缩json。压缩过的json读取非常快。因为只有一行。
切换房间的时候,加载json 数据,发现导致内存暴涨的情况。需要在房间退出的时候清除掉存放数据的引用,避免下次进入房间又一次创建。
gamemaker学习笔记:读取JSON相关推荐
- Swift学习_读取json文件重载
相关知识: swift支持方法的重载 方法的重载:方法名称相同,但是参数不同.包括: 参数的类型不同 参数的个数不同 override func viewDidLoad() {super.viewDi ...
- gamemaker学习笔记:跳跃
Gm工具很不错,跟着红色激情的教程来看一遍,学习一下游戏的开发. 记录一下笔记:跳跃的笔记.但是二段跳 和穿越跳 还没完成. 对着一遍视频案例抄一遍基本跳跃. 不是穿墙跳跃. if(keyboard_ ...
- 【学习笔记】JSON基础概念简介
JSON是什么? JSON即JavaScript Object Notation,是Javascript对象原生的一种表现形式.它是一种轻量级的.纯文本的,用来存储.传递和交货文本信息的格式. JSO ...
- STM8学习笔记---读取STM8S003单片机序列号
最近做项目时需要用到单片机的序列号,于是查了一下STM8S003单片机UID读取的方法.读取UID方法大概分两种,一种是直接在地址中读取,一种是通过定义一个联合体,将联合体的起始地址设置在UID起始地 ...
- gamemaker学习笔记:打包Android过程记录
GameMaker 可以直接链接机器导出打包Apk,但使用打包之前需要花费900多元购买正版.GameMakerStudio2 Mobile的在打包之前,需要配置好安卓的环境.这里有热心的开发者gms ...
- gamemaker学习笔记:导入龙骨动画
gamemaker的骨骼动画目前只是支持spine,但不支持龙骨的数据的格式.但目前可以通过一个转换的脚本来完成转换spine的格式实现这种方式. 下面是龙骨官方提供的一个转换spine的方式. ht ...
- gamemaker学习笔记:截屏
这几天折腾了一下尝试做了一些gamemaker的实验,意外发现了一些比较惊喜的地方.gamemaker导出的java 安卓项目可以通过Android Studio 编译通过.虽然过程遇到不少麻烦,通过 ...
- typescript学习笔记1-tsconfig.json配置和变量类型声明
一,tsconfig.json {// 编译器选项"compilerOptions": {/* 基本选项 */"target": "es5" ...
- JavaScript学习笔记:JSON
这个就是一个json json在开发中实现不同语言的传递 JSON我理解为就是一个字符串 将JSON转换为对象 采用JSON.parse();方法 将JS对象转换为json对象 JSON.string ...
最新文章
- leetcode算法题--二叉搜索树的最近公共祖先
- c语言在keil上程序合并,keil中怎么把两个c程序怎么同时同时编译生成一个hex文件...
- centOS7 Minima无法上网解决方案(Linux设置开机自动获取ip地址)
- 百度地图离线_“高德地图”和“百度地图”有什么差别? 专家: 细节决定成败!...
- excel对比_质量管理误区:SPC软件与微软Excel的应用对比
- 慕尼黑工业大学最新综述:深度神经网络中的不确定性
- 汉诺塔问题深度剖析(python实现)
- c语言 已知某系统在通信联络中,数据结构(习题)..doc
- createPattern() 自定义宽高
- k8s配置以使得pod可以运行于master上
- 您如何性能测试JavaScript代码?
- $CH0201$ 费解的开关
- 基于React和Html5的宠物领养平台网站设计与实现
- 通信 之 无线信道衰落
- JavaScript 基础优化(读书笔记)
- BERT |(3)BERT模型的使用--pytorch的代码解释
- python fpdf中multi_cell实现自动换行
- 机器学习-预剪枝和后剪枝
- os x怎么新建html文件格式,如何在Mac OS X中为邮件制作HTML签名 | MOS86
- Python比较两个日期大小
热门文章
- 分享给java程序员的文章:一年有多长
- word中输入文字后面的文件被覆盖掉了
- es6之三个点(...) 扩展运算符数组和对象的使用场景及最常见的用法(霸霸看了都说好)
- python函数代码块以什么开头_Python 函数
- 利用golang软件创建一个beego项目
- Java工程师如何在1个月内做好面试准备?
- r语言用行名称提取数据框信息显示na_R语言-05数据框创建,以及按条件取数据框数据...
- JavaScript中的画星星效果
- 2G到5G演变进化之路
- 实时通信 socketio nio 总结