拆解Scratch项目文件的发现
我对Scratch 3保存的项目文件进行了解压的操作,打开解压后的文件夹一看,发现里面的文件十分简单。
Scratch 3保存的项目文件是一个zip文件,解压后包含了一个json文件,这个json文件里面保存了项目的信息。json文件中包含了一个名为“targets”的数组,这个数组中保存了项目中的所有积木块的信息。每个积木块的信息都是一个对象,包含了积木块的类型、参数、注释等信息。
图像音频文件
Scratch项目文件中的图像和音频都直接保存在了sb3文件的根目录中,可直接查看,文件名比较长,可能是md5值,但可以确定的是,图像文件名和音频文件名都是唯一的。
json文件
json文件中保存了项目的信息,包括项目名称、描述、脚本、变量、列表、广播等。其中,脚本部分包含了项目中的所有积木块的信息,包括积木块的类型、参数、注释等信息。变量、列表、广播等部分则包含了项目中的变量、列表、广播等信息。不同对象的变量、图像、音频等分别存放在不同的字典中。
接下来将逐个介绍这个json文件
基本结构
这个json的基本结构如下:
{
"targets": ["这里省略"], //对应存储各个对象及其脚本、图片、音频等信息
"monitors": [], //我还不知道
"extensions": [], //我个人感觉是存储扩展信息
"meta": {
"semver": "3.0.0",