关于程序的存储结构系统(Storage System)

 在吉里吉里的体系中,关于文件(file)或者档案文件(archive)内的文件、以及其他的资源文件(resource)的叫法,并不以“文件”相称,而是称之为「storage」也就是“存储”或者叫做“仓库”。
(U子注:这里所提到的文件(file)就是游戏在打包前的普通文件(.tjs、.ks、.jpg、.png以及各种文件夹等等),而所谓的档案文件(archive)其实就是指游戏打包后的.xp3文件。其实就是普通的文件/文件夹,只不过在吉里吉里的体系中,这些都被统称为storage了而已。在下面的叙述中,U子把这里的storage保留为storage。 ps:好麻烦,总感觉这真的是毫无意义啊 =_=|| 总之大家将就着理解一下吧...)

storage结构名

 所谓storage结构名是指:将仅能在吉里吉里内部使用的资源文件(storage)、以类似 URI 的形式表示出来。
 以格式为:media://domain/path 这样的形式书写。path间的段落分隔符为 「/ 」(正斜线) 。

本地目录结构(Local Storage)

 在表示本地目录结构时,统一目录结构名中的 media 用 file 替换、domain 用 . (点号、即半角英文句号)替换。另外,在Windows系统下,路径开头依然是要带上盘符的。

 例如,与 Windows 系统下的 C:\Program Files\Game\game.exe 相对应的storage结构名就以file://./c/program files/game/game.exe这样来表示。

 使用 Storages.getFullPath 方法,可以将用户操作系统(OS)中的文件名转化成以storage结构名的格式来表示。在进行转换的过程中,文件名中的大写字母将全部被转换为小写字母来显示(对于本地目录结构来说是不区分大小写的)。另外,本地目录结构中用于分割上下级目录的 \ 也会被转换成 / 来显示。
 Storages.getLocalName方法可以从storage结构名转换为操作系统使用的文件名称。如果要将storage结构名传递给吉里吉里以外的应用程序,则必须使用此方法。

存档存储(Archive Storage)

 如果要指定存档中的存储,请用 > 区分;并将> >之前指定为storage的结构名 ;> 之后指定为存档中的路径。

 例如,file://./c/program files/game/game.xp3 内的 image/base.jpg 的storage结构名为:
file://./c/program files/game/game.xp3>image/base.jpg
 2.19 beta 14 开始存档存储的区分字符从 '#' 变为了 '>' 。

 吉里吉里标准可以处理XP3这种吉里吉里独特形式的存档存储(因为是XPK的第三代形式XP3)。如何创建XP3格式的存档文件请参考Releaser
 XP3存档可以与可执行文件结合。在这种情况下,吉里吉里可以将可执行文件视为一个存档文件(Releaser只支持与吉里吉里本体的结合)。

项目目录(Project Folder)

 一般情况下,在用吉里吉里制作游戏和工具等的时候,会把必要的文件全部归档到「项目文件夹」来进行开发。吉里吉里在启动时将当前文件夹设置为项目文件夹。
 如果在项目文件夹内指定了相对路径,则即使在Releaser中指定了单个可执行文件,也不需要更改路径指定。

数据(data)保存位置

 数据(data)的保存位置为使用 命令行选项 中的 -datapath 选项指定的目录。其值可以使用System.dataPath 属性进行获取。
 吉里吉里输出的各种日志(log)或者用户自定义的设置文件等都会输出到这里。
 同时,也推荐开发者在进行游戏或者工具开发时,将数据(data)保存在这里。