[翻译] FXGL Assets/资源
原文作者:AlmasB
本页将使你熟悉关于游戏资产的内容、地点、时间和方法。大部分的资产加载是由JavaFX提供的。FXGL只是简单地包装了这些API,并将它们全部集中到AssetLoader
中。
目录
如果你不遵循Maven的目录结构,有一个特殊的目录叫assets,放在src下面。如果你遵循Maven的目录结构,那么它就放在src/main/resources下。这是必要的,因为当你以可执行文件的形式发布游戏时,构建过程可以很容易地获取资源并将其打包。当你在IDE中开发或调试游戏时,这一点也同样适用。检查目录结构。
加载
在获得资源加载器的引用(getAssetLoader()
)后,调用load*
,其中*
可以是Texture、音乐、声音等。首先,加载器将检查资源是否在缓存中,如果是则返回。如果在缓存中没有找到该资源,该资源将从文件系统中加载,同时放在缓存中。你也可以在游戏开始前通过调用加载器上的cache()
预先加载资源。
下面你可以找到支持的资源类型。
注意:有些资源支持的格式比这里列出的要多,例如,Texture可以以bmp格式加载,这是标准的格式,资源应该是这些格式:
Textures/素材
目录: assets/textures/
格式: jpg
, png
描述: 你想显示的任何图像都属于这个类别。
Music/音乐
目录: assets/music/
格式: mp3
说明:长的音频文件,如背景音乐或录制的对话。
Sounds/音效
目录: assets/sounds/
格式: wav
说明: 非常短的音频文件,例如经常出现的声音效果。
Text/文本
目录: assets/text/
格式: txt
说明: 任何文本格式的东西,例如文本对话、游戏中的物品名称。
JSON
目录: assets/json/
格式: json
说明: 任何有效的json数据,例如Tiled map,一些自定义格式。
TMX
目录: assets/tmx/
格式: tmx
说明: 绘制地图数据。
Scripts/脚本
目录: assets/scripts/
格式: js
说明:可以运行的有效脚本,例如AI脚本或行为,动态代码片段。
Properties/配置文件
目录: assets/properties/
格式: properties
说明: 本质上是Java资源包,是简单键值的集合,对系统配置有用。
KV Files/KV文件
目录: assets/kv/
格式: kv
说明: 类似于属性,但该文件被解析为你自己的自定义数据结构,对实体配置很有用。
AI Behavior Trees / AI行为树
目录: assets/ai/
格式: tree
说明: 这是一个标准的gdxAI行为树。
CSS
目录: assets/ui/css/
格式: css
说明:用来为你的用户界面元素设计样式的CSS文件。
Fonts/字体
目录: assets/ui/fonts/
格式: ttf
, otf
说明: 在用户界面中使用的字体。
Icons/图标
目录: assets/ui/icons/
格式: jpg
, png
说明: 在任务栏或窗口标题中使用的icon图标图像。
原文作者:AlmasB
Cursors/光标
目录: assets/ui/cursors/
格式: jpg
, png
说明: 可用于替代默认鼠标指针的光标图像。
Binary
目录: assets/data/
格式: 任意格式
说明: 你自己的资源类型,可以用默认的Java序列化机制进行序列化。
Custom Assets/客户资源
目录: src
下的任何地方,如果使用Maven src/main/resources
格式: 任意格式
说明: 你自己的游戏资源,由你来自定义。基本上,加载器是InputStream
.
转载自:https://juejin.cn/post/7172523077438275591