Musicreater/docs/功能使用说明.md

106 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1 align="center">音·创 Musicreater</h1>
<h2 align="center">库版 Package Version</h2>
<p align="center">
<img width="128" height="128" src="https://s1.ax1x.com/2022/05/06/Ouhghj.md.png" >
</p>
# 演示程序使用教程
*由于先前的 **读我文件**(README.md) 过于冗杂,现另辟蹊径来给大家全方位的教程。*
*这是演示程序demo的使用教程将在这里提供演示程序的相应的使用教程*
## 下载与启动教程
### [视窗(Windows)操作系统](./download%26atart/Windows.md)
### [里纽克斯(Linux)操作系统](./download%26atart/Linux.md)
### [安卓(Android)与安卓衍生操作系统](./download%26atart/Android.md)
## 演示程序使用教程
1. 参数说明
<img src=https://foruda.gitee.com/images/1659974810147043475/运行.png>
- midi路径含有mid文件路径、文件名、后缀的完整文件路径或者一个目录demo可接受批量转换。可以使用相对或绝对路径皆可
- 输出路径:输出文件夹的路径,不需要指示文件名
- 是否重置计分板:`1``0`(歌曲放完是否重置,推荐`1`
- 进度条:是否启用进度条,以及自定义进度条样式。输入`0``False`表示不启用进度条,输入`1``True`表示使用默认进度条,其余的输入均表示使用输入的格式作为自定义的进度条样式
若不支持自定义,则仅能输入`0``1`表示“关闭”或“开启”
- 计分板名称:游戏内的计分板名称
- 音量0-1之间的小数含01正常来说推荐`1`
- 速度倍率小数数据其值不可为0一般写`1`
- 玩家选择器:包括 `@x` 在内的全部选择器,即若要选择全部标签为`Holo`的玩家,则需要如此输入:`@a[tag=Holo]`
- 没有报错且在输出路径下找到mcpack或bdx即为生成成功
<img src=https://foruda.gitee.com/images/1659973655881460036/输出.png>
# 其他说明
## 对于 延迟播放器 的说明
问1什么是延迟播放器
答1播放音乐不同的音符之间存在间隔可以用不同的方式实现音符间空白的时间。其一是计分板通过给计分板加分对应分数播放对应的音符就可以间隔到还有就是命令方块自带的延迟这样也可以实现音符间空白。延迟播放器即后者但是因为只能对命令方块写入这样的延迟数据所以仅可以使用包含NBT的结构导出或者直接输出至世界。
问2可不可以不要积分板
答2详见问1切换你所需要的播放器即可。
## 对于 进度条自定义 功能的说明
因为我们提供了可以自动转换进度条的功能,因此在这里给出进度条自定义参数的详细解释。
请注意,并非所有的演示样例程序都支持自定义进度条。
一个进度条,明显地,有**固定部分**和**可变部分**来构成。而可变部分又包括了文字和图形两种(当然,《我的世界》里头的进度条,可变的图形也就是那个“条”了)。这一点你需要了解,因为后文中包含了很多这方面的概念需要你了解。
进度条的自定义功能使用一个字符串来定义自己的样式,其中包含众多**标识符**来表示可变部分。
标识符如下(注意大小写):
| 标识符 | 指定的可变量 |
|---------|----------------|
| `%%N` | 乐曲名(即传入的文件名)|
| `%%s` | 当前计分板值 |
| `%^s` | 计分板最大值 |
| `%%t` | 当前播放时间 |
| `%^t` | 曲目总时长 |
| `%%%` | 当前进度比率 |
| `_` | 用以表示进度条占位|
表示进度条占位的 `_` 是用来标识你的进度条的。也就是可变部分的唯一的图形部分。
**样式定义字符串**的样例如下,这也是默认的进度条的样式:
`▶ %%N [ %%s/%^s %%% __________ %%t|%^t]`
这是单独一行的进度条,当然你也可以制作多行的,如果是一行的,输出时所使用的指令便是 `title`,而如果是多行的话,输出就会用 `titleraw` 作为进度条字幕。
哦对了,上面的只不过是样式定义,同时还需要定义的是可变图形的部分,也就是进度条上那个真正的“条”。
对于这个我们就采用了固定参数的方法,对于一个进度条,无非就是“已经播放过的”和“没播放过的”两种形态,所以,使用一个元组来传入这两个参数就是最简单的了。元组的格式也很简单:`(str: 播放过的部分长啥样, str: 没播放过的部分长啥样)` 。例如,我们默认的进度“条”的定义是这样的:
`('§e=§r', '§7=§r')`
综合起来,把这些参数传给函数需要一个参数整合,你猜用的啥?啊对对对,我用的还是元组!
我们的默认定义参数如下:
`(r'▶ %%N [ %%s/%^s %%% __________ %%t|%^t]',('§e=§r', '§7=§r'))`
*对了!为了避免生成错误,请尽量避免使用标识符作为定义样式字符串的其他部分*