UID82897性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2021-7-23最后登录1970-1-1
| 本帖最后由 Cat_Anchor 于 2023-2-26 10:16 编辑
前言
|
上期,我们学习了渲染控制器。现在,我们来学习声音。学完这些杂七杂八的东西,我们最后再学实体。
| | 声音
|
打开资源包根目录,打开sounds文件夹,这里用于存放声音相关的文件。在sounds文件夹下,有很多文件夹,用于分门别类地存放各种声音。当然也可以选择不分类,把所有声音文件全扔在sounds文件夹下。另外,在sounds文件夹下,还有两个json文件。一个叫sound_definitions.json,另一个叫music_definitions.json。前者用于定义声音,后者用于定义音乐。我们主要看看前者。以下是代码。
- {
- "mob.rascal.ambient": { //这里的mob.rascal.ambient就是声音的ID。
- "category": "neutral", //声音的分类。可以写ambient、hostile、block、neutral等。主要用于游戏内的声音设置。
- "sounds": [ //声音的路径。这个数组里可以只有一个指向声音的路径,也可以有很多个。如果有很多个,那么播放时会随机播放其中一个。
- "sounds/mob/ambient_rascal1", //一个声音路径。可以直接写路径,不需要后缀。
- { //也可以定义一个对象。
- "name": "sounds/mob/ambient_rascal2", //这里写路径,不需要后缀。
- "load_on_low_memory": true //指定这条音乐是否预加载。
- "volume": 1 //指定音量。
- }
- ]
- },
- "mob.rascal.hurt": { //这里的mob.rascal.hurt就是声音的ID。由此可见,这样可以在一个文件里定义很多个声音。
- "category": "neutral",
- "sounds": [
- "sounds/mob/hurt_rascal"
- ]
- }
- }
复制代码
然后我们看看定义音乐的music_definitions.json。
- {
- "game": { //这里的game是内置的,无法更改。这里是游戏默认的背景音乐。
- "event_name" : "music.game", //要播放的声音ID。下同。
- "min_delay": 600, //一首播放完之后,播放另一首的最小延迟。下同。
- "max_delay": 1200 //一首播放完之后,播放另一首的最大延迟。下同。
- },
- "water": { //水下背景音乐。
- "event_name": "music.game.water",
- "min_delay": 10,
- "max_delay": 20
- },
- "creative": { //创造模式背景音乐。
- "event_name" : "music.game.creative",
- "min_delay": 60,
- "max_delay": 180
- },
- "end": { //末地背景音乐。
- "event_name" : "music.game.end",
- "min_delay": 60,
- "max_delay": 180
- },
- "endboss": { //末地战斗时的背景音乐。
- "event_name" : "music.game.endboss",
- "min_delay": 60,
- "max_delay": 180
- },
- "nether": { //下界背景音乐。
- "event_name" : "music.game.nether",
- "min_delay": 60,
- "max_delay": 180
- },
- "credits": { //看终末之诗和制作名单时的背景音乐。
- "event_name" : "music.game.credits",
- "min_delay": 0,
- "max_delay": 0
- },
- "menu": { //主菜单的背景音乐。
- "event_name" : "music.menu",
- "min_delay": 0,
- "max_delay": 30
- }
- }
复制代码
这就是声音的全部内容。在游戏里用播放你自定义的声音。
| | 总结
|
这一期,我们学完了声音。下一期,我们就要讲字体了。
|
|
|