OLDREDSTONE 9e1153417b - 修复了一些死链
- 添加了新的 otto 插图(没错作者又更了)并修改了更换逻辑
2025-06-09 00:05:22 +08:00

86 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.

# 房间
完全掌握了节奏医生的节奏设计之后,我们要把目光放在谱面的视觉呈现上了,这一节我们就从理解“房间”的概念开始。
编辑器总共支持四个房间,你可以想象成一栋房子有四层楼,每层楼最多住四个人,同时,每层楼的装修可以随意摆设互不干扰。这四层楼不一定刚刚好叠在一起,可以随时移动,互不交叠,只是高度不同。我们飞在空中从上往下看,就能看到目视所及范围内的大楼景象。同时,如果空中飘扬着其他物件,也会被我们的眼睛捕捉到,如果大楼的天花板和地板是透明的,那么地基里有什么东西也会被看到。
当我们使用**排列显示房间**事件时,房间就只能从上到下地排列在屏幕上,而如果使用**移动房间**事件,则可以随便移动。
## 排列显示房间
![排列房间设置(左)与实际效果(右)](../images/room-visible.png)
将左边的可见房间点亮为黄色,屏幕上就会显示这个房间,高度可以自定义,填写数据后房间高度将自动分配。详细的分配规则点击下方箭头展开。如果你懒得理解分配规则,只需永远保证 **不点亮多余的房间并且将存在的房间高度总和设置到100%** 即可。
### 房间分配规则
- 如果全部不填,那么
所有房间高度为 `25%`
- 否则
- 计算已填房间高度的总和 `Sum`
- 如果 `Sum = 100%`,那么
按实际数据设置房间高度,未填写的视为 `0%`
- 如果 `Sum < 100%`,那么
- 如果有未填写房间高度的房间,设个数为 `n`,那么
未填写高度的房间高度 `height = (100% - Sum) / n`,即均分未分配的房间高度;
- 否则
每个房间的房间高度 `height = height * 100% / Sum`,即等比例拉伸房间高度至高度总和为 `100%`
- 如果 `Sum > 100%`,那么
每个房间的房间高度 `height = height * 100% / Sum`,即等比例缩小房间高度至高度总和为 `100%`
下面还留有一个时长和缓速的选项这个和轨道移动的时所介绍的设置规律是完全相同的。如果填写0拍就是瞬间完成房间分配。
> 如果你想直观地看看各种移动方式的速度区别,可以[看看这里](https://easings.net/zh-cn)。
## 房间的前后关系
但实际上很多时候我们并不想就让房间这样死板地上下排布,甚至想让这些房间交叠在一起。要做到这一点,我们得先明确各个房间叠在一起的时候,它们的前后关系是怎样的。
![](../images/room-animation.gif)
首先看一个房间内,各种事件的由前往后关系是:
> [浮动文字]
[弹幕效果]
[前景图片]
[轨道4]
[轨道3]
[轨道2]
[轨道1]
[背景图片(图片)]
[背景图片(颜色)]
它们的前后顺序是不可改变的。
各个房间整体之间又有前后顺序,默认由前往后关系是:
> [显示状态牌]
[应用到:顶部]
[房间1]
[房间2]
[房间3]
[房间4]
四个房间的顺序是可以改变的,只需要在黄色版块内添加一个**重新排序房间**事件,把前后顺序拖动到想要的即可。
![](../images/room-layer.png)
## 激活其他房间
在刚打开编辑器的状态下实际上只能看到房间1。并不是另外三个房间不存在而是房间大小被设置成了`0%`。在黄色版块中找到**移动房间**事件事件放置在工作区的哪一行就是对应的哪个房间被移动。创建三个移动房间事件置于234行将“大小”设置为`(100%,100%)`,这样所有的房间都以屏幕大小叠在一起了。
还记得[这里](../pages/settheme.md)提到了**设置主题**事件吗,我们再添加一个“花房·昼”。由于黄色版块不再是空白的,设置主题的事件的右上角出现了新的按钮,这是将事件设置到具体房间的功能。
![](../images/room-theme.png)
将带有花房·昼主题的事件选择房间4预览效果会发现我们看到的依然是武士电子因为现在不透明的房间1完全遮住了房间4。删掉武士电子主题会发现背景全黑依然看不到花房。这是因为默认状态下房间并不是透明背景而是纯黑背景。
在紫色的版块找到**设置背景**事件将背景颜色选择为纯透明应用到123房间。再次预览终于能看到房间4了。“应用到”选项是可以多选的。
![](../images/room-eventselectroom.png)
有时还会有第五个按钮“顶部”,如果你理解了本节最开头的比喻的话,应用到顶部的事件是直接在大楼与你之间的空中生效的。房间怎么移动都不会影响到顶部。
![](../images/room-eventsettings.png)
经此示例,相信你已经能理解房间的基本运作原理了。