Irrlicht引擎:文件系统简介

整个文件io系统位于irr::io名字空间内,接口简洁明了,见下图

Irrlicht引擎:文件系统简介

这个文件系统的一个特点是,可以将zip包,pak包(Quake2 pak格式)视作目录,包中的文件和磁盘目录的文件一样访问,直接指定文件路径即可。在IFileSystem的实现中,createAndOpenFile的过程是,先遍历所有的zip包(之前必须使用addZipFileArchive设定上),如果找到文件就打开并返回,如果没有找到就遍历所有pak包,遍历unzip包,最后从目录文件打开。所以如果存在同名的文件,优先级是先打开zip包中的,优先级最低的是目录中的文件。

文件系统中有一个attribute的东西,所谓attribute就是一组预定义的类型值,比如整数、浮点数、字符串、颜色、向量、矩阵、四元数、包围盒等等。IFileSystem中定义了一个接口createEmptyAttributes,用来创建一组attribute。创建后可以使用IAttributes接口的一些方法如setAttribute(attribute名字,attribute值),getAttributeAsString等进行操作,使用write将attributes序列化,使用read从文件读取,现在保存和读取都是用xml。irrlicht直接支持读写xml文件。

你可能感兴趣的:(文件系统)