第十八章:自定义AssetLocator

前文已经分析了 AssetLocator 的工作原理,本章将介绍如何实现自定义AssetLocator。 jME3 提供了很多不同类型的 AssetLoactor,诸如: ClasspathLocator FileLocator ZipLocator UrlLocator HttpZipLocator 如果感兴趣,读者可以直接查阅它们的源代码,阅读源码是学习的最好方式。 压缩文件格式 在游戏发布时,开发者经常需要把美术资产打成加密、压缩资源包。每个工作室都可能有自己的加密算法,但通用的压缩算法只有几种:zip, rar, tar, gz, ...

第十七章:AssetLocator原理

先总结一下前面几章中讲过的概念: 用Java I/O读取文件,分为三步: 打开输入流 读取数据 关闭输入流 在jME3中,“打开输入流”这一步是由资产定位器(AssetLocator)来实现的。 通过调用 AssetManager 中的 registerLocator(String rootPath, Class locatorClass) 方法,可以配置一对 资产根目录 和 资产定位器 ...

第十六章:AssetManager接口介绍

下面的文章,是我早期阅读jME3源代码时整理的笔记,主要介绍了 AssetManager 中的主要接口。结合上一篇文章,可以深入了解AssetManager的具体用法。 核心组件介绍 AssetManager 这是JME3资源管理器的核心接口,它提供了统一的方式来管理各种资源。 (1) 注册资源加载器 public void registerLoader(Class loaderClass, String ... extensions) 根据后缀名来注册资源加载器。没有注册过的资源类型是无法被AssetManager识别的。 例: assetManager.registerLoader(AWTLoader. ...

第十五章:AssetManager工作流程

基本过程 jME3 使用Java I/O来读取资产数据,把整个过程分为三个步骤: 一、打开输入流 这一步通常会根据资源路径(URL)获得一个 InputStream 对象,程序可以通过这个对象来读取数据。输入流的来源可能多种多样,例如: 文件路径 new FileInputStream("D:\MyGame\Save\savedata.dat" ...

第十四章:Java I/O流

有一个笑话是这样的: 问:要把大象装冰箱,一共分几步? 答:分三步,一把冰箱门打开,二把大象放进去,三把冰箱门关上。 这个笑话的无厘头之处在于,正常人都明白把大象放进冰箱是最难的,而打开、关上冰箱门根本不算事。回答的人却一本正经地把它们放在一起说,仿佛把大象放进冰箱是像打开冰箱门一样简单的问题。 Java 的 I/O 流也分三步,一打开I/O流,二读/写数据,三关闭I/O流。 ...