Compare commits

...
105 Commits
Author SHA1 Message Date
obugs a974916f0e Merge pull request 'main' (#53) from kuanpan/rd.rdlevel.cn:main into check
Reviewed-on: RDCNWebs/rd.rdlevel.cn#53
Reviewed-by: obugs <mail@obugs.zip>
2026-03-25 14:02:06 +08:00
obugs 9f9717bc36 Merge branch 'check' into main 2026-03-25 14:01:17 +08:00
OLDREDSTONE 921df2e863 Merge branch 'main' of https://git.obugs.cn/kuanpan/rd.rdlevel.cn 2026-03-25 13:58:37 +08:00
kuanpanandOLDREDSTONE 3e6434fe82 更新 pages/moverow.md 2026-03-25 13:55:22 +08:00
kuanpanandOLDREDSTONE 9477fa57e0 删除 images/moverow_SpinningRows_WavyRotation.png 2026-03-25 13:55:10 +08:00
kuanpanandOLDREDSTONE 2cff4abbc2 删除 images/moverow_SpinningRows_Rotate.png 2026-03-25 13:55:10 +08:00
kuanpanandOLDREDSTONE 072dea2b7b 删除 images/moverow_SpinningRows_Disconnect.png 2026-03-25 13:55:10 +08:00
kuanpanandOLDREDSTONE e49584a412 删除 images/moverow_SpinningRows_ContinuousRotation.png 2026-03-25 13:55:10 +08:00
kuanpanandOLDREDSTONE 9f14397c63 删除 images/moverow_SpinningRows_Connect.png 2026-03-25 13:55:10 +08:00
kuanpanandOLDREDSTONE fc1e839f48 旋转轨道(怎么一次最多上传5个图啊) 2026-03-25 13:55:10 +08:00
kuanpanandOLDREDSTONE b1f7dfe11d 重排序:行 2026-03-25 13:55:10 +08:00
kuanpanandOLDREDSTONE 04d1af58f9 更新轨道涂色图片 2026-03-25 13:55:10 +08:00
OLDREDSTONE b5cbb3c588 Merge branch 'check' of https://git.obugs.cn/RDCNWebs/rd.rdlevel.cn into check 2026-03-25 12:38:06 +08:00
OLDREDSTONE 68179a4d4d Merge branch 'feature/pr-53-main' into check 2026-03-25 12:09:24 +08:00
OLDREDSTONE f19a7890ea 2026/03/01 更新 2026-03-25 12:09:02 +08:00
XiaolvjunandOLDREDSTONE 345aca09ac 修改部分音频内容 2026-03-25 12:09:02 +08:00
XiaolvjunandOLDREDSTONE 659e01b30c 补上了一点过场后的音乐 2026-03-25 12:09:01 +08:00
XiaolvjunandOLDREDSTONE 3ff383764a 更新音效和音乐 2026-03-25 12:09:01 +08:00
XiaolvjunandOLDREDSTONE 99350e298c 新增了MD-3内布若拍子用到的提示音 2026-03-25 12:09:00 +08:00
XiaolvjunandOLDREDSTONE 1a66c90022 更新了两个未使用音乐 2026-03-25 12:09:00 +08:00
XiaolvjunandOLDREDSTONE 76c272bfbe 更正了sndCorazonesViejos的曲速 2026-03-25 12:08:59 +08:00
XiaolvjunandOLDREDSTONE ccd55c84dd 新增新音频sndIntimate2P 2026-03-25 12:08:59 +08:00
XiaolvjunandOLDREDSTONE f9f067cc5f 更正了一些曲子的曲速 2026-03-25 12:08:58 +08:00
XiaolvjunandOLDREDSTONE 375193eec3 更正了“在正式版本中出现的音乐”一栏的内容一列数据,删除重复项,新增三个音乐轨道缩短音频 2026-03-25 12:08:58 +08:00
XiaolvjunandOLDREDSTONE e67ec51cae 更新 pages/appendix_audios.md 2026-03-25 12:08:57 +08:00
XiaolvjunandOLDREDSTONE c3068c312d 更新 pages/appendix_audios.md 2026-03-25 12:08:57 +08:00
OLDREDSTONE 0392d8f6ee 20260226 更新 2026-03-25 12:08:56 +08:00
OLDREDSTONE 81276cd83d 添加对文档编撰的说明 2026-03-25 12:08:56 +08:00
OLDREDSTONE 9bc6730408 制作人员表增加了 2026-03-25 12:08:56 +08:00
T_TerrenceandOLDREDSTONE 69e9535c68 做了窗口相关的动画的教程 2026-03-25 12:08:55 +08:00
kuanpanandOLDREDSTONE 484bad3ebc 更新 pages/moverow.md 2026-03-25 12:08:54 +08:00
kuanpanandOLDREDSTONE b53b86e9dc 更新 pages/oneshotbeat.md 2026-03-25 12:08:54 +08:00
kuanpanandOLDREDSTONE a21261ebca 更新 pages/moverow.md 2026-03-25 12:08:54 +08:00
kuanpanandOLDREDSTONE 7ce70aff8f 更新 pages/appendix_gimmicks.md 2026-03-25 12:08:53 +08:00
23333andOLDREDSTONE cf678ff1a2 添加启用高级编辑器功能教程 2026-03-25 12:08:53 +08:00
kuanpanandOLDREDSTONE 4d28adc6a9 更新 pages/moreoneshotbeats.md 2026-03-25 12:08:52 +08:00
kuanpanandOLDREDSTONE c28cf7605d 更新 pages/classicbeat.md 2026-03-25 12:08:52 +08:00
kuanpanandOLDREDSTONE 72830302e8 更新 pages/moreoneshotbeats.md 2026-03-25 12:08:51 +08:00
kuanpanandOLDREDSTONE 7c229153a9 更新 pages/moreoneshotbeats.md 2026-03-25 12:08:51 +08:00
OLDREDSTONE 38a17ad35d [RDView] 修复 hsb 属性读取异常和渲染异常 2026-03-25 12:08:50 +08:00
OLDREDSTONE 4b842c721b [RDView] 啊草我 degug 怎么还在里面( 2026-03-25 12:08:50 +08:00
OLDREDSTONE 70026114d8 [RDView] 现已可用,在 pages/classicbeat 可查看第一个用例 2026-03-25 12:08:49 +08:00
OLDREDSTONE 455bb82550 [RDView2] 更新 2026-03-25 12:08:49 +08:00
OLDREDSTONE 1bff68aac5 [RDView2] DOM 渲染基本完工,进入可行性测试阶段 2026-03-25 12:08:48 +08:00
OLDREDSTONE 6820dfc2ae 修复 json 解析异常未捕获的错误 2026-03-25 12:08:48 +08:00
OLDREDSTONE 7acdc7fed0 changelog 2026-03-25 12:08:47 +08:00
OLDREDSTONE 14f97502f0 [rdview2] 性能测试 2026-03-25 12:08:47 +08:00
OLDREDSTONE 6d3d02c5e2 [RDView]修复事件组内的单发拍长按不显示的异常 2026-03-25 12:08:47 +08:00
XiaolvjunandOLDREDSTONE 0e26fea056 更新 pages/credits.md 2026-03-25 12:08:46 +08:00
XiaolvjunandOLDREDSTONE 318f6bbcda 更新 pages/appendix_audios.md 2026-03-25 12:08:31 +08:00
OLDREDSTONE a8c833c96f [RDView] 更新细分拍的图像,添加长按二拍设置 2026-03-25 12:08:31 +08:00
OLDREDSTONE 4a07b0eaf4 优化渲染流程(虽然还是很卡 2026-03-25 12:08:30 +08:00
OLDREDSTONE 29b30c6782 【实验】rdview2 样例 2026-03-25 12:08:30 +08:00
OLDREDSTONE b5b68b0c25 【实验】添加对 rdview2 的支持 2026-03-25 12:08:29 +08:00
OLDREDSTONE 97a7697f66 取消群号的缩放 2026-03-25 12:08:29 +08:00
kuanpanandOLDREDSTONE 6a2da287d8 上传文件至 images 2026-03-25 12:08:28 +08:00
kuanpanandOLDREDSTONE 922b5e1334 删除 images/hold.jpg 2026-03-25 12:08:28 +08:00
kuanpanandOLDREDSTONE 3a4ae62e66 上传文件至 images 2026-03-25 12:08:28 +08:00
0x4D2andOLDREDSTONE 594ffce2f1 气球
Signed-off-by: 0x4D2 <1706119930@qq.com>
2026-03-25 12:08:27 +08:00
0x4D2andOLDREDSTONE a6a1420368 更新附录中的事件列表
Signed-off-by: 0x4D2 <1706119930@qq.com>
2026-03-25 12:08:27 +08:00
0x4D2andOLDREDSTONE beb5385e25 更新附录中的事件列表
Signed-off-by: 0x4D2 <1706119930@qq.com>
2026-03-25 12:08:26 +08:00
OLDREDSTONE 64b612088c 更新日志 2026-03-25 12:08:26 +08:00
OLDREDSTONE 9336f789c1 更改了页面右侧功能区的样式 2026-03-25 12:08:26 +08:00
OLDREDSTONE c6ac6e5396 修改目录样式 2026-03-25 12:08:25 +08:00
OLDREDSTONE 16207c03c5 更新日志 2026-03-25 12:08:25 +08:00
OLDREDSTONE 67550f329d 更正部分文字 2026-03-25 12:08:24 +08:00
OLDREDSTONE e115480491 第三方工具添加 AserDeco 介绍页面 2026-03-25 12:08:24 +08:00
OLDREDSTONE 1761283ca9 修改暗色主题部分颜色 2026-03-25 12:08:24 +08:00
OLDREDSTONE b6bec98286 更改了群号 2026-03-25 12:08:23 +08:00
OLDREDSTONE 12271b6943 添加网页简介 2026-03-25 12:07:51 +08:00
obugs a11aefd96d Merge pull request '章节Icon补全' (#54) from BucketBrian/rd.rdlevel.cn:main into check
Reviewed-on: RDCNWebs/rd.rdlevel.cn#54
2026-03-17 18:24:24 +08:00
kuanpan e92dc48e60 更新 pages/moverow.md 2026-03-11 18:15:14 +08:00
kuanpanandobugs df07dde9c2 更新了窗口动效和旋转轨道 (#52)
Reviewed-on: RDCNWebs/rd.rdlevel.cn#52
Co-authored-by: kuanpan <kuanpan791@gmail.com>
Co-committed-by: kuanpan <kuanpan791@gmail.com>
2026-03-11 17:43:04 +08:00
kuanpan 356893dcc3 更新 pages/moverow.md 2026-03-11 17:27:56 +08:00
kuanpan b0d3f214d5 更新 pages/rowfx.md 2026-03-11 16:47:25 +08:00
kuanpan 8bf2044e42 更新 pages/rowfx.md 2026-03-11 16:46:37 +08:00
kuanpan 7eb77c3cba 上传文件至 images 2026-03-11 16:33:03 +08:00
kuanpan 4d022a39de 删除 images/moverow_SpinningRows_WavyRotation.png 2026-03-11 16:31:53 +08:00
kuanpan 20e0f2b278 删除 images/moverow_SpinningRows_Rotate.png 2026-03-11 16:29:57 +08:00
kuanpan 8140e2e156 删除 images/moverow_SpinningRows_Disconnect.png 2026-03-11 16:29:43 +08:00
kuanpan ab1210ae23 删除 images/moverow_SpinningRows_ContinuousRotation.png 2026-03-11 16:29:24 +08:00
kuanpan dda3903f3f 删除 images/moverow_SpinningRows_Connect.png 2026-03-11 16:29:08 +08:00
kuanpan a1cb8f9adb 旋转轨道(怎么一次最多上传5个图啊) 2026-03-11 16:28:01 +08:00
kuanpan 1695f4ba59 旋转轨道(怎么一次最多上传5个图啊) 2026-03-11 16:26:31 +08:00
kuanpan 64dc297141 改变角色 2026-03-11 16:24:40 +08:00
kuanpan 0cf3e6a1d1 重排序:行 2026-03-11 16:23:55 +08:00
kuanpan f8e616b048 重排序:行 2026-03-11 16:23:50 +08:00
kuanpan daaf8c6604 更新轨道涂色图片 2026-03-11 15:54:17 +08:00
kuanpan e1aaae4067 更新轨道涂色图片 2026-03-11 15:54:14 +08:00
kuanpan 4830fbf791 删除 images/rowfx-tintrow.png 2026-03-11 15:53:14 +08:00
kuanpan 95e3205fcb 更新 pages/moverow.md 2026-03-11 15:30:45 +08:00
kuanpan c4f1e9190d 更新 pages/WindowDance.md 2026-03-11 15:25:39 +08:00
kuanpan 9b2fefd482 更新 pages/WindowDance.md 2026-03-11 15:24:48 +08:00
kuanpan 34d10aacdc 更新 pages/WindowDance.md 2026-03-11 15:23:24 +08:00
kuanpan f6bb7c4656 新数值 2026-03-11 14:57:34 +08:00
kuanpan f63a57d1b7 上传文件至 images 2026-03-11 14:53:03 +08:00
kuanpan 37843725da 添加轨道动效的描述和进阶内容 2026-03-11 14:48:00 +08:00
kuanpan c3f78823a1 merge upstream 2026-03-11 11:54:51 +08:00
BucketBrian 86bf9b876d new 2026-03-01 03:58:34 +08:00
BucketBrian 36eec64a04 new 2026-03-01 03:49:30 +08:00
OLDREDSTONE 1d93e2140f 2026/03/01 更新 2026-03-01 01:58:21 +08:00
kuanpan bd7480e686 上传文件至 images 2026-01-30 19:52:51 +08:00
kuanpan 852d8e719d 更新 pages/accessibledesign.md 2026-01-30 19:36:09 +08:00
kuanpan e1dc15a5a7 更新 pages/accessibledesign.md 2026-01-30 19:30:44 +08:00
kuanpan 5e426d9261 上传文件至 images 2026-01-30 19:27:01 +08:00
29 changed files with 575 additions and 255 deletions
+1 -1
View File
@@ -50,7 +50,7 @@
- [<img src="/indexicon/tag.png"/><p>标签</p>](/pages/tag.md)
- [<img src="/indexicon/custommethod.png"/><p>自定义方法</p>](/pages/custommethod.md)
- [<img src="/indexicon/condition.png"/><p>条件</p>](/pages/condition.md)
- [<img src="/indexicon/variable.png"/><p>变量</p>](/pages/variable.md)
- [<img src="/indexicon/variable.png"/><p>表达式</p>](/pages/expression.md)
- 高级:第三方工具
- [<img src="/indexicon/3rdparty_coderd.png"/><p>[Python]CodeRD</p>](/pages/3rdparty_coderd.md)
- [<img src="/indexicon/3rdparty_rdtk.png"/><p>[C#]RhythmBase</p>](/pages/3rdparty_rdtk.md)
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

+152 -7
View File
@@ -10,16 +10,104 @@
窗口的显示和隐藏都在这个事件中,窗口默认只有窗口1是显示,其他窗口默认都是隐藏的,所以如果你需要操作其他窗口,需要把窗口显示出来再进行操作。
如果需要使用透明窗口,记得把背景颜色设置为透明(顶部的背景也要)
窗口板块中隐藏状态的窗口会显示灰色,可以通过这个判断你的窗口有没有忘记显示出来。
![默认状态下只有窗口1是显示的,其他窗口都是隐藏的,所以呈现灰色](../images/Window_Dance_Window_Hidden.png)
## 窗口动效
(谁会,来补充一下,我只用过移动2333)
### 移动
移动跟**移动房间**事件一样,坐标填多少就移动到哪。
![](../images/windowsmove.png)
需要注意的是参照,影响的是窗口移动的范围,这两个选项的具体情况如下:
`居中`的范围是整个屏幕,如果将位置设置为(0,0),那么窗口只会露出一个角;
`边缘`的范围是整个屏幕减去窗口大小,如果将位置设置为(0,0),那么窗口的左下角将对齐屏幕左下角。
![居中和边缘](../images/edge.png)
### 摇摆
使窗口按特定速度和方向来回移动。
**位置:** 初始位置;
**增幅:** 移动的幅度;
**角度:** 来回移动的方向,0度为向右;
**频率:** 每拍移动多少次;
**运动缓速:** 每次移动时用的缓速;
**缓速类型:** 偶数次移动可以设置成相同的缓速或者镜像(如从快到慢镜像后就是从慢到快)。
![](../images/windowssway.png)
### 缠绕
像缠胶带一样将窗口绕着屏幕旋转。
**位置:** 初始位置;
**速度:** 每拍移动多少距离(一圈的百分之n);
**增幅:** 往另一个方向`摇摆`的距离(与移动方向垂直);
**角度:** 移动的方向,0度为向右;
**频率:** `摇摆`的频率(每拍移动多少次)。
![](../images/windowswrap.png)
### 椭圆
将窗口绕着一点旋转。
**位置:** 旋转中心;
**速度:** 每拍转多少度`360° * n%`
**使用循环:** 文本
**增幅:** X轴和Y轴方向分别远离这个点多远;
**角度:** 从哪个角度开始旋转。
![](../images/windowsellipse.png)
### 震动
震动窗口,跟震动摄像机一样。
**位置:** 初始位置;
**增幅:** 震动时X轴和Y轴方向最远能到哪;
**频率:** 每拍震动多少次;
**周期:** 每多少拍震动的移动会重复;
**运动缓速:** 每次震动时移动的缓速。
![](../images/windowsshake.png)
时长和缓速前面都说过了,就不再提了。
> 如果你想直观地看看各种移动方式的速度区别,可以[看看这里](https://easings.net/zh-cn)。
## 窗口大小重置
想要让窗口大小发生变化,或调整窗口的轴点,都需要借助**窗口大小重置**事件。这个事件的设置项目是这样的:
![](../images/Window_Dance_Window_Resize.gif)
**大小:** 窗口的目标大小,最大可以设置为`200% 200%`,如果`x``y`同时被设置为了0,则窗口会立刻被重置为初始的大小(即`100% 100%`)。
@@ -48,45 +136,102 @@
> 如果你想直观地看看各种移动方式的速度区别,可以[看看这里](https://easings.net/zh-cn)。
### 轴点的使用技巧
我们知道,在窗口大小发生变化时,调整轴点可以改变其缩放的中心。但是实际上,即使窗口不需要缩放,我们也可以通过调整轴点来改变窗口的位置,那么这种操作从效果上看和直接使用窗口移动看似没有什么区别,实际上在一些特殊的需求中,这个方法可以被很巧妙地使用。
窗口在移动时,使用的坐标是相对整个屏幕的,而由于不同设备的屏幕分辨率不同,导致有些效果如果用窗口移动来做会在不同分辨率下有不同效果,尤其是当多个窗口之间的位置有配合的时候(如两个窗口紧贴的效果)。
如在16:9的分辨率下制作的两个窗口紧挨着的效果:
![16:9分辨率下两个窗口紧贴](../images/Window_Dance_169ratio.png)
在其他分辨率下,即使不改变窗口的位置,也可能会有不同的效果(如在22:9分辨率下):
![在更宽的屏幕下,两个窗口无法紧贴](../images/Window_Dance_229ratio.png)
如果想要做出在类似`2-XN`中两个窗口相撞的效果,窗口中间有距离会导致表演效果大打折扣。这时我们可能会想,能不能不以屏幕为基准定位,而是以窗口的大小为基准定位,是不是就可以做到了呢?事实上,**轴点**就解决了这样的问题。
如果想要做出在类似`2-XN`中两个窗口相撞的效果,窗口中间有距离会导致表演效果大打折扣。这时我们可能会想,能不能不以屏幕为基准定位,而是以窗口的大小为基准定位,是不是就可以做到了呢?
事实上,**轴点**就解决了这样的问题。
试想,如果两个窗口在同一个位置,而一个窗口的轴点在左边缘,另一个窗口在右边缘,就可以保证无论在什么样的分辨率下,这两个窗口都一定是紧挨着的。
![](../images/Window_Dance_169ratio_pivot.png)
![使用轴点后,无论在哪个分辨率下两个窗口都是紧挨的](../images/Window_Dance_229ratio_pivot.png)
所以当你的动画需要多个窗口之间的位置配合时,不妨试试用轴点的移动来代替直接移动窗口。
## 设置窗口数量
首先需要纠正一个翻译问题,这个事件的正确翻译应为**设置窗口内容**(英文原文: Set Window Content)。真正可以设置窗口数量的事件是前面提到的**隐藏窗口**事件(显示或者隐藏窗口),请大家不要搞错了。
## 设置窗口内容
这个事件的设置项目是这样的:
![](../images/Window_Content.png)
**内容模式:** 可以选择**一个房间**或**全部房间**,在选择**一个房间**时,下面会出现**房间目录**选项,可以从4个房间里面选择一个,随后这个窗口中只会显示这个房间的内容。在选择全部房间时,这个窗口将会像平常一样显示全部4个房间的内容。
> 注意,在选择**一个房间**时,这个房间中的所有房间事件都不会在这个窗口中生效,包括房间移动,淡入淡出房间,房间遮罩等。
![左侧窗口是全部房间,右侧房间是一个房间(房间1),可以发现房间移动和房间遮罩在右侧房间都没有生效](../images/Window_Dance_All_or_One.png)
**位置,缩放和角度:** 类似于摄像头移动的对应参数。在内容模式为**一个房间**时,位置是对应房间区域的对应坐标(左下角是`(0%, 0%)`,右上角是`(100%, 100%)`),在选择**全部房间**时,位置是在一个**长宽均为一个房间默认长宽的2倍的大区域**中的位置(如果需要定位到一个处于默认位置和默认大小的房间的左下角,位置是`(25%, 25%)`,右上角则是`(75%75%)`,正中心依然是`(50%, 50%)`),但是由于窗口默认大小和一个窗口的默认大小是相同的,因此如果不改变窗口的大小,依然只能显示一个房间大小的区域。
**位置,缩放和角度:** 类似于摄像头移动的对应参数。
在内容模式为**一个房间**时,等同于调用房间的摄像头,`位置`是对应房间区域的对应坐标(左下角是`(0%, 0%)`,右上角是`(100%, 100%)`)
在选择**全部房间**时,等同于调用顶部摄像头,而所有房间可显示的范围为`(200%, 200%)`大小,所以当`位置`设置为`(100%, 100%)`时,实际会在(相对于一个房间默认大小的)`(200%, 200%)`的位置,默认位置的房间的`(100%, 100%)`则在`(75%, 75%)`的位置。
根据这个结论,可以将4个房间分别放在显示区域的四个角上,并显示`全部房间`,这样就能用`全部房间`分别显示4个房间了
![上图中黄色区域是一个处于默认位置和默认大小的房间,蓝色区域是全部房间的坐标区域](../images/Window_Dance_Coordinate_of_All_Room.png)
无论选择哪种内容模式,超出区域范围的内容都会被裁剪。
**时长和缓速:**
## 重新排列窗口
类似于房间板块的**重新排列房间**,可以设置窗口的上下关系。
## 设置主窗口
将对应的窗口设置为主窗口,对话,顶部护士灯光,状态牌等内容将在主窗口显示。
## 设置窗口名称
修改窗口的标题。在动作选择**设置**的时候,会直接设置窗口的标题;在动作选择**增补**的时候,会在原来标题的后面增加内容;在动作选择**重置**的时候,会将标题重置为`Rhythm Doctor`
## 设置桌面颜色
修改模拟移动时桌面的颜色,如果不打开起始颜色,则表示从当前颜色渐变为结束颜色,如果打开起始颜色,效果将类似于**自定义闪烁**。
修改模拟移动时桌面的颜色,如果不打开起始颜色,则表示从当前颜色渐变为结束颜色,如果打开起始颜色,效果将类似于**自定义闪烁**。
## 进阶内容(可能需要手术)
> 如果你不知道手术是什么,可以[看看这里](https://docs.qq.com/sheet/DQUJxb0puSFFOVWpz?tab=000004)。
### 全屏窗口
因为窗口的最大大小写死了只能为200%,所以需要用到`OutElastic`缓速。
> 如果你忘了这个缓速长什么样,可以[看看这里](https://easings.net/zh-cn)。
注意到这个缓速的一部分会超出所设置的值,所以可以先将窗口缩小到`1%,1%`大小,然后使用`OutElastic`缓速将窗口缩放到`200%,200%`大小,当窗口变大的过程中会有几帧是占满整个屏幕的,此时放一个大小为`200%,200%`、时长为999、缓速为`Linear`的**窗口大小重置事件**,窗口大小就会固定成全屏的了。
### 更多窗口(暂时不确定官方会不会修这个)
在谱面中放置一个窗口相关的事件(这个例子用`隐藏窗口`事件),记住这个事件的小节、节拍和在第几行,然后打开这个谱面的文件(xxx.rdlevel),找到{ "bar": <小节>, "beat": <节拍>, "y": <行数减一>, "type": "HideWindow", "show": true },这一行,<>里面应该是你记住的数据,将"y": 后面的数替换成一个大于3的数,保存并返回编辑器,重新打开这个谱面,就会发现这个事件到第4行下面了,接着当正常窗口使用就行。
如果想要`重新排列窗口`,同上,找到"ReorderWindows", "order": [0, 1, 2, 3],在[]中加上 窗口的编号减一 的数,还有逗号。
窗口事件名称表:
| 事件 | 名称 |
| :--- | :--- |
| 窗口动效 | NewWindowDance |
| 重置窗口大小 | WindowResize |
| 设置窗口内容 | SetWindowContent |
| 重新排列窗口 | ReorderWindows |
| 隐藏窗口 | HideWindow |
| 设置主窗口 | SetMainWindow |
| 设置窗口名称 | RenameWindow |
| 设置桌面颜色 | DesktopColor |
当然,如果你不想手术,可以安装[这个模组](https://github.com/9thCore/RDEditorPlus/releases)b站有安装教程)
+3 -1
View File
@@ -62,7 +62,7 @@
#### 朗读轨道信息
![](../images/narraterowinfo.png)
![](../images/readrowinformation.png)
**轨道**:选择要朗读哪条轨道的信息。
@@ -77,6 +77,8 @@
**玩家**:选择在双人模式下,该轨道由哪位玩家接管。
**自定义长度**:启用后将朗读所填的轨道长度。
一般情况下,游戏会按以下的顺序来朗读:
`[玩家][类型][轨道角色][X字拍子]`
+5
View File
@@ -1,5 +1,10 @@
# 更新信息
#### 2026-03-01
- **变量**一节被替换为[表达式](../pages/expression.md)。
- 为各种标题添加了容易辨识和定位的背景渐变条。
- ~~我也要加入文档编撰列表吗(~~
#### 2026-02-26
- 临时修复了若干资源查找问题
- 同步音频列表
+1
View File
@@ -14,6 +14,7 @@
- [0x4D2](https://space.bilibili.com/478595264)
- [正宗的小绿君](https://space.bilibili.com/1782518253)
- [kuanpan](https://space.bilibili.com/1928620300)
- [obugs](https://space.bilibili.com/498017546)
- 视频制作:
- [吾夜犹明](https://space.bilibili.com/29219948)
- [山不转水到渠成](https://space.bilibili.com/4870582)
+108
View File
@@ -0,0 +1,108 @@
# 表达式
在节奏医生编辑器中,为了增加灵活性与可玩性,很多地方都支持使用表达式在游戏运行时动态决定实际的效果。这种表达式被称作 **RDCode**
## 数据类型
类似于其他编程语言,RDCode 中有且仅有一些预定义的数据类型。
### 常量
表示一个确定的值,其值在关卡制作时就已经确立。
### 变量
表示一个不定的值,其值可能会在关卡运行过程中被赋值语句更改。
- **访问权限**
为了保证关卡运行的稳定,一些变量会设置访问权限:
- **只读**
此变量可以参与表达式求值(读),但不能被赋值(写)。
- **只写**
此变量仅允许被赋值(写)而不能参与表达式求值(读)。
- **可读写**
此变量既能够参与表达式求值(读)也能够被赋值(写)。
- #### 整形(Integer/int
即整数。
整形可以自动参与浮点型数据的数学运算。
你可以直接使用整形常量并参加运算,例如 `2026`, `-308`, `999`, `0`
- #### 浮点型(Single/Float/float
可以带有小数部分的数字。
例如 `3.1415`, `200.1`, `-9.99`
> 在将浮点型转换为整型的操作(如赋值操作)时,将遵循**向最近偶数舍入**的原则(与大多数编程语言中的**向下取整**原则不同),即若计算结果为 `0.5`,那么它对应的整数值为 `0`;而 `1.5` 将对应 `2`。
- #### 布尔型(Boolean/bool
`true``false` 以表示启用或禁用等。
> 在**自定义方法**中,
- #### 字符串型(String/string
一串字符。
不参与运算,仅在调用自定义方法时作为参数存在。
值得注意的是,不同于其他语言的双引号 `"STRING"` 等表示方式,RDCode 的字符串表示是 `str:STRING`,即在字符串的前面加上一个 `str:` 前缀。
一般而言,在 RDCode 内用到字符串型的地方都只能在一系列候选词中选择一个填入,例如在选择角色或缓速类型时。
例如 `str:Samurai`, `str:Linear`
- #### 预定义变量
节奏医生为整数、浮点数、布尔类型各预定义了 10 个可读写变量,分别以 `i`, `f`, `b` 开头,即 `i0`~`i9`, `f0`~`f9`, `b0`~`b9`
一些只读或只写的变量可在[自定义方法表](../pages/appendix_custommethods.md)查到。
## 运算类型
- **数学运算符**
`+` `-` `*` `/` `%`
- **逻辑运算符**
`And` `Or` `Not`
> 在 `And` `Or` 的两侧、`Not` 的右侧只支持布尔型数据。
- **比较运算符**
`>` `<` `>=` `<=` `==` `<>`
- **函数调用**
`Rand`, `IIf`, `atLeastRank`
> 所有的可用的自定义方法请查阅[自定义方法表](../pages/appendix_custommethods.md)。
> 表内标注的方法按照每个参数的含义及其类型表示,
> 例如 `SetMistakeWeight(int RowID, float Weight)` 中,注明了此方法需要一个 int 类型(即整形)的值表示 RowID 和一个 float 类型(即浮点型)的值表示 Weight,
> 你可以这样使用:`SetMistakeWeight(0, 2)`,表示将轨道 1 的错误权重设为 2。
## 语句类型
只能在自定义方法中使用。
- **自增/自减**
在变量后面添加 `++``--` 使变量本身加 1 或减 1。
> 布尔变量不支持自增/自减。
例如 `i2++`
- **赋值**
在变量和表达式之间使用 `=` 将变量的值设为表达式的值。
例如 `f3 = 20 * f5`
- **调用**
调用[自定义方法](../pages/appendix_custommethods.md)。
## 表达式的用途
### 条件
- 在使用[条件](../pages/condition.md)的自定义条件模式时,可以定义一个自定义条件,用于决定赋予此条件的事件能否在播放关卡时启用。
- 在条件的表达式限制下我们难以直接写出用 `And``Or` 组合的形式;但是我们可以通过设立多个自定义条件并分别添加对应的表达式,应用于事件上,或是执行多次自定义表达式并赋值给预定变量,再在条件内组合。
- 在**条件**内无法使用 `>=` `<=`。~~怀疑是史山代码发力了~~
- 在**条件**内若有 `>` `<` 存在时不允许有括号嵌套。~~史山代码还在发力~~
- 逻辑运算符的优先级比比较运算符更高。
### 自定义方法
- 自定义方法中的表达式仅在赋值和调用行为时才能使用,其中赋值时以 `[变量]=[表达式]` 形式将对应的变量设为计算后的值,调用时将表达式填入对应的参数的位置。
例如 `b0 = b1 Or Not b2 And 3 > f2`
- 自增或自减运算的左值仅能使用变量名,不能使用表达式。
- 在将布尔型数据转换为整形或浮点型的操作(如参与数学运算)时,其值将退化为整形,其中 `true` 对应 `1``false` 对应 `0`
- 在将整形或浮点型数据转换为布尔型的操作(如赋值操作)时,其值将遵循**非 `0``true`** 的原则,即若计算结果为 `0`,那么它对应的布尔值为 `false`,否则为 `true`
- 实际上在**自定义方法**内进行数学运算时,所有数据都将转换为浮点型再参与运算。
- 比较运算符的优先级比逻辑运算符更高。
- `Rand` 方法既不能包含表达式形式的参数,也不能参与计算。
### 自定义方法(注释)
- 注释型自定义方法的参数不支持表达式,仅支持单独的值或变量。
### 事件参数
- 部分事件的属性支持填入表达式,如移动轨道、移动精灵图的位置、轴点、尺寸、角度等。
- 需要用花括号 `{}` 将表达式括起来以表示这是一个表达式。
- 其他同**自定义方法**。
### 内插字符串
- 部分事件的字符串类型属性支持将表达式插入字符串,如浮动文字、显示状态牌等。
- 需要用花括号 `{}` 将表达式括起来以表示游戏需要将表达式的值替换表达式插入原字符串中。
- 其他同**自定义方法**。
+44 -3
View File
@@ -69,6 +69,8 @@
**缓速:**动画的速度变化,可自行尝试。这东西在很多需要持续一段时间的特效里都会存在,里面会有很多模式,只要把握以下原则就能快速明白了:`In`代表由慢至快,`Out`代表由快至慢,`InOut`代表由慢至快再变慢。后面不同的形式也就是快慢速的细微差距,可以根据自己的需要慢慢尝试。
**加速/减速:**在一段时间内加速/减速,相当于自定义缓速。如果此处填写`0`则是瞬间完成加速/减速。填写负数则视为`0`
> 如果你想直观地看看各种移动方式的速度区别,可以[看看这里](https://easings.net/zh-cn)。
## 轴点
@@ -122,12 +124,51 @@
如果想要实现`6-2`马克一人多轨的情况就可以使旋转轨道事件。
先准备两个轨道,使用`连接`将轨道2连接到轨道1上,此时心会自动变成裂纹状态,如果不想要这个效果,可以用下一章轨道涂色里的`心`设置回默认。
### 连接
在连接后,通过`分割`可以将两个轨道都显示出来,这两个轨道都会对被连接到的轨道对应角色产生影响。
![](../images/moverow1_SpinningRows_Connect.png)
`断开`后这些轨道都会回复正常状态
`轨道`**连接**`到轨道`
### 断开
![](../images/moverow2_SpinningRows_Disconnect.png)
`轨道`**断开**。
### 旋转
![](../images/moverow3_SpinningRows_Rotate.png)
`轨道`**旋转**`角度`度。
### 均速旋转
![](../images/moverow4_SpinningRows_ContinuousRotation.png)
`轨道`在每拍**均速旋转**`角度`
### 波动旋转
![](../images/moverow5_SpinningRows_WavyRotation.png)
`轨道`在每拍`频率`次**波动旋转**`增幅`度。
### 合并
![](../images/moverow6_SpinningRows_Merge.png)
`轨道`转到`角度`度是**合并**,no key是选择是否有烟雾。
### 分割
![](../images/moverow7_SpinningRows_Split.png)
`轨道`从主轨道上**分割**出来,并旋转到`角度`度。
## 重排序:行
将轨道转移到其他房间,或者改变轨道的层级
## 演示关卡
+12
View File
@@ -71,6 +71,18 @@
**过渡方式**:顺滑(有烟雾特效);即刻(瞬间显示/隐藏);全动画(仅限“动作”中选择“显示”,有完整的出场及轨道延伸动画)。
## 改变轨道
可以在中途改变轨道上的角色。
![](../images/rowfx_Change_Character.png)
**轨道**:需要改哪个轨道上的角色。
**角色**:改成哪个角色。
**过渡方式**:跟隐藏轨道一样,顺滑有烟雾特效,即刻没有。
## 适合配合轨道或节拍一起使用的特效
**闪烁:**屏幕白色闪烁,分为短,中,长三种。
+8 -8
View File
@@ -6,16 +6,16 @@ let rowx;
let columny;
let positions = {
"c1": { "x": 64, "name": "第一拍" },
"c2": { "x": 88, "name": "第二拍" },
"c3": { "x": 112, "name": "第三拍" },
"c4": { "x": 136, "name": "第四拍" },
"c5": { "x": 160, "name": "第五拍" },
"c6": { "x": 184, "name": "第六拍" },
"c7": { "x": 249, "name": "第七拍" },
"c1": { "x": 66, "name": "第一拍" },
"c2": { "x": 90, "name": "第二拍" },
"c3": { "x": 114, "name": "第三拍" },
"c4": { "x": 138, "name": "第四拍" },
"c5": { "x": 162, "name": "第五拍" },
"c6": { "x": 186, "name": "第六拍" },
"c7": { "x": 251, "name": "第七拍" },
"ccharacter": { "x": 35, "name": "角色" },
"ccenter": { "x": 176, "name": "中心" },
"cheart": { "x": 317, "name": "心" },
"cheart": { "x": 315, "name": "心" },
"r1": { "y": 162, "name": "四轨时的第四轨" },
"r2": { "y": 141, "name": "三轨时的第三轨" },
"r3": { "y": 120, "name": "二轨时的第一轨/四轨时的第三轨" },
+241 -235
View File
File diff suppressed because it is too large Load Diff