0628 更新
This commit is contained in:
parent
5dab36288b
commit
c7b6c35ddc
@ -1 +0,0 @@
|
||||
<!-- _navbar.md -->
|
||||
@ -33,6 +33,7 @@
|
||||
- [<img src="/indexicon/beatpatterndesign.png"/><p>采音和节奏设计</p>](/pages/beatpatterndesign.md)
|
||||
- [<img src="/indexicon/chartdesign.png"/><p>关卡设计</p>](/pages/chartdesign.md)
|
||||
- [<img src="/indexicon/audiodesign.png"/><p>音效设计</p>](/pages/audiodesign.md)
|
||||
- [<img src="/indexicon/twoplayers.png" width="64px"/><p>双人模式设计</p>](/pages/twoplayers.md)
|
||||
- [<img src="/indexicon/accessibledesign.png"/><p>无障碍设计</p>](/pages/accessibledesign.md)
|
||||
- 进阶:视觉特效
|
||||
- [<img src="/indexicon/room.png"/><p>房间</p>](/pages/room.md)
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
homepage: '/pages/intro.md',
|
||||
loadSidebar: true,
|
||||
loadNavbar: true,
|
||||
coverpage: true,
|
||||
coverpage: false,
|
||||
maxLevel: 5,
|
||||
subMaxLevel: 4,
|
||||
mergeNavbar: true,
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
### 带X拍子
|
||||
|
||||
在编辑器中翻译为X字拍子。心跳有时候会**跳过一些拍子**,但我们仍然需要在拍子抵达时抓住时机按键。当电图线路上出现**红色的X字**时,就意味着这些拍子会被跳过。这个时候你需要在头脑里继续数数,然后照常在第二拍处按键。
|
||||
在编辑器中翻译为X字拍子。心跳有时候会**跳过一些拍子**,但我们仍然需要在拍子抵达时抓住时机按键。当电图线路上出现**红色的X字**时,就意味着这些拍子会被跳过。这个时候你需要在头脑里继续数数,然后照常在七处按键。
|
||||
|
||||
在`1-2 亲密`中被首次引入,且在大量关卡中出现。
|
||||
|
||||
@ -22,13 +22,13 @@
|
||||
|
||||
### 摇摆普通拍子
|
||||
|
||||
也称心脏梗阻。他们的心跳会出现不规则的拍子,因为心跳信号的工作不正常,节拍也会呈现不规则的感觉。无论如何,也请在第二拍按下空格。
|
||||
也称心脏梗阻。他们的心跳会出现不规则的拍子,因为心跳信号的工作不正常,节拍也会呈现不规则的感觉。无论如何,也请在第七拍按下空格。
|
||||
|
||||
在`3-3 分离二重唱`中被首次引入。
|
||||
|
||||
### 网好卡菌
|
||||
|
||||
在编辑器中应设置为电击拍子。无论发生什么都要在音乐的第二拍按下空格。
|
||||
在编辑器中应设置为电击拍子。无论发生什么都要在音乐的第七拍按下空格。
|
||||
|
||||
在`1-X 东方不眠夜`中被首次引入。
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
## 设置游戏音效
|
||||
|
||||
除了节奏音效和按拍音效之外,游戏里还有一些地方会出现音效,主要是失误的时候(分为微小失误和严重失误),没有节拍却按了空格的时候(默认是“啵”一声,所以在编辑器里面叫“手掌-啵音”),第二拍按下之后第八拍“咚”地一声回音(叫做心爆,这时候心脏图标也会小抖一下),以及跳过拍(嘎↘的声音),长按拍,冻结拍,灼热拍的音效。
|
||||
除了节奏音效和按拍音效之外,游戏里还有一些地方会出现音效,主要是失误的时候(分为微小失误和严重失误),没有节拍却按了空格的时候(默认是“啵”一声,所以在编辑器里面叫“手掌-啵音”),第七拍按下之后第八拍“咚”地一声回音(叫做心爆,这时候心脏图标也会小抖一下),以及跳过拍(嘎↘的声音),长按拍,冻结拍,灼热拍的音效。
|
||||
|
||||
这些音效在设置的时候是无法下拉列表选择更改的,只能通过键入游戏内置的音效文件名,或者导入自定义的音效来改变。目前已公开的内置音效文件名因为数量太多,集中收录在了[附录3](../appendix/3.html)中。
|
||||
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
# 更新信息
|
||||
|
||||
#### 2025-06-28
|
||||
- 添加了~~吐槽~~样式
|
||||
- 修复了批量替换遗留问题
|
||||
- 修复了样式混淆
|
||||
- 添加了[双人模式设计页面](../pages/twoplayers.md)
|
||||
|
||||
#### 2025-06-08
|
||||
- 修复了一些死链
|
||||
- 添加了新的 otto 插图(没错作者又更了)并修改了更换逻辑
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
- [Sterix_Craft砹氪硒](https://space.bilibili.com/349090681)
|
||||
- [T_Terrence](https://space.bilibili.com/455443751)
|
||||
- [mfgujhgh](https://space.bilibili.com/1369651)
|
||||
- [喜欢精灵宝可梦的黄黄](https://space.bilibili.com/589687399)
|
||||
- [龙俟城](https://space.bilibili.com/589687399)
|
||||
- [卢毅](https://space.bilibili.com/26101629)
|
||||
- [RaYmondCheung](https://space.bilibili.com/1579208)
|
||||
- [NoMathExpectation](https://space.bilibili.com/184862524)
|
||||
|
||||
@ -49,14 +49,14 @@
|
||||
</div>
|
||||
|
||||
<!--
|
||||
| 普通拍子轨道 | 人物 | 前六拍左侧 | 前六拍中段 | 第二拍左侧 | 第二拍右侧 | 心脏之前 | 心脏 |
|
||||
| 普通拍子轨道 | 人物 | 前六拍左侧 | 前六拍中段 | 第七拍左侧 | 第七拍右侧 | 心脏之前 | 心脏 |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
| 轨道1 | -0.5 | 1 | 0.5 | 1 | 0 | -2 | -2.5 |
|
||||
| 轨道2 | -10.5 | -9 | -9.5 | -9 | -10 | -12 | -12.5 |
|
||||
| 轨道3 | -20.5 | -19 | -19.5 | -19 | -20 | -22 | -22.5 |
|
||||
| 轨道4 | -30.5 | -29 | -29.5 | -29 | -30 | -32 | -32.5|
|
||||
|
||||
| 单发拍子轨道 | 人物 | 前六拍左侧 | 前六拍中段 | 第二拍左侧 | 第二拍右侧 | 心脏之前 | 心脏 |
|
||||
| 单发拍子轨道 | 人物 | 前六拍左侧 | 前六拍中段 | 第七拍左侧 | 第七拍右侧 | 心脏之前 | 心脏 |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
-->
|
||||
**删除**:删除这个精灵。
|
||||
|
||||
@ -16,11 +16,11 @@ eb.PulseFreeTimeBeat 6 0[pulse=9];
|
||||
eb.PulseFreeTimeBeat 7 0[pulse=9];
|
||||
```
|
||||
|
||||
我们选中数字1对应的节拍,发现这个是设置起始脉冲位置的。你甚至可以将它改为第二拍,然后把六个小的`>`删掉,这样就没有任何节拍提示。如果你设计的关卡是一个和节奏医生没什么关联的创意谱(梦幻联动?),且按键密度很大,则可以考虑这样使用。相比于工作区里面重叠摆放一大堆普通普通拍子,这样会看上去更清爽。但如果你设计的就是节奏医生,**请不要在完全无节奏提示的情况下直接响起第二拍**。
|
||||
我们选中数字1对应的节拍,发现这个是设置起始脉冲位置的。你甚至可以将它改为第七拍,然后把六个小的`>`删掉,这样就没有任何节拍提示。如果你设计的关卡是一个和节奏医生没什么关联的创意谱(梦幻联动?),且按键密度很大,则可以考虑这样使用。相比于工作区里面重叠摆放一大堆普通普通拍子,这样会看上去更清爽。但如果你设计的就是节奏医生,**请不要在完全无节奏提示的情况下直接响起第七拍**。
|
||||
|
||||

|
||||
|
||||
剩下的大于号`>`即意味着心跳向右移动一格,数到7的时候则需要按拍。点选之后,把它改成 `<`,心跳还能向左移动一格;点击自定义,还可以任意指定到第几个节拍。每一组自由拍**必须使用较大的节拍作为开头**,较小的则数量不限,直到数到第二拍为止。
|
||||
剩下的大于号`>`即意味着心跳向右移动一格,数到7的时候则需要按拍。点选之后,把它改成 `<`,心跳还能向左移动一格;点击自定义,还可以任意指定到第几个节拍。每一组自由拍**必须使用较大的节拍作为开头**,较小的则数量不限,直到数到第七拍为止。
|
||||
|
||||
```rdview 10 2
|
||||
eb.AddFreeTimeBeat 1 0[pulse=1];
|
||||
@ -41,7 +41,7 @@ eb.PulseFreeTimeBeat 9 0[pulse=9];
|
||||
|
||||
如果你想让一串自由节拍最后不需要按拍,而是节奏直接消失,就把这一组自由节拍的最后一个点选**垃圾桶**符号。
|
||||
|
||||
> 如果你设计了一段无法数到第二拍的节奏且不放置垃圾桶,那么心电图就会一直停在轨道中间。这很诡异。
|
||||
> 如果你设计了一段无法数到第七拍的节奏且不放置垃圾桶,那么心电图就会一直停在轨道中间。这很诡异。
|
||||
|
||||
接下来介绍一些社区机制。社区玩家们通过合理设计自由拍,并加以适当的提示,创造出了一些全新的节奏类型。其中一些节奏被广泛使用,并在社区中形成共识,从而延续下来。使用这些机制制作自定义关卡无需额外设计教学环节。当然如果你担心玩家不了解社区,或是你有其它自己的想法,也可以为这些节奏类型自行设计节奏提示的方法,唯一的宗旨是保证提示恰当准确。
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ eb.AddOneshotBeat 5 1[tick=0.75,loop=3,interval=1];
|
||||
|
||||
## 单发拍子护士提示
|
||||
|
||||
单发拍子与普通拍子不同之处在于,普通拍子可以观察前六次脉冲,推测出第二拍的正确按键时机;但单发拍子只有一次脉冲,玩家无法仅通过单发拍子的脉冲得知按键时机。因此,为了能让玩家正确击打单发拍子,**必须为单发拍子添加护士提示**。
|
||||
单发拍子与普通拍子不同之处在于,普通拍子可以观察前六次脉冲,推测出第七拍的正确按键时机;但单发拍子只有一次脉冲,玩家无法仅通过单发拍子的脉冲得知按键时机。因此,为了能让玩家正确击打单发拍子,**必须为单发拍子添加护士提示**。
|
||||
|
||||

|
||||
|
||||
|
||||
21
pages/twoplayers.md
Normal file
21
pages/twoplayers.md
Normal file
@ -0,0 +1,21 @@
|
||||
# 双人模式设计
|
||||
|
||||
> 此页面处于初稿阶段,欢迎补充!
|
||||
|
||||
## 切换至双人模式
|
||||
|
||||
[在编辑器预览栏下](../pages/editorinterface.md)打开双人模式选项,这时候预览画面中的所有玩家操控的轨道会相应地变换。
|
||||
由玩家 1 操控的轨道的默认颜色变为蓝色(`#0050FF`),心脏处会增加一个蓝色的 P1 图标;
|
||||
由玩家 2 操控的轨道的默认颜色变为红色(`#AC0929`),心脏处会增加一个红色的 P2 图标。
|
||||
指示轨道控制者的图标(P1,P2,CPU)都不会受轨道染色事件影响。
|
||||
在播放关卡过程中会影响以下游戏元素的行为。
|
||||
- 切换玩家轨道事件是为改变轨道控制者而设计的。将下拉单选框的选项改为`双人模式`或`单人或双人模式`时,事件就会在双人模式下执行。
|
||||
- 编辑条件时将类型改为玩家模式,再在下面的玩家模式中选择双人,即可使应用了这个条件的事件仅在双人模式下执行。
|
||||
|
||||
## 多轨道设计
|
||||
|
||||
官方在 v0.18.0 时重新设计了大量关卡的双人模式版本。
|
||||
在设计双人模式关卡时,最核心的要点就是:需要让玩家分清他所控制的轨道。这同时也适用于在关卡中将某个轨道托付给 Otto 时的情况。
|
||||
在为单发拍使用护士提示时需要用两种护士音效以区分玩家,通常为 P1 使用的语音为**护士**,P2 使用的语音为**伊恩**。你也可以根据实际场景交换这两者。
|
||||
轨道的音效使用左右声道作区分(例如左声道只播放 P1 需要操控的轨道的音效而右声道相反)也是一个不错的选择。
|
||||
当 P1、P2 交换轨道控制权时,需要使用护士语音 `Switch` 以提示即将交换轨道控制权。
|
||||
@ -5,22 +5,22 @@ let columny;
|
||||
|
||||
let positions = {
|
||||
"c1": { "x": 64, "name": "第一拍" },
|
||||
"c2": { "x": 88, "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": "第二拍" },
|
||||
"c7": { "x": 249, "name": "第七拍" },
|
||||
"ccharacter": { "x": 35, "name": "角色" },
|
||||
"ccenter": { "x": 176, "name": "中心" },
|
||||
"cheart": { "x": 317, "name": "心" },
|
||||
"r1": { "y": 162, "name": "四轨时的第一轨" },
|
||||
"r2": { "y": 141, "name": "三轨时的第一轨" },
|
||||
"r3": { "y": 120, "name": "二轨时的第一轨/四轨时的第二轨" },
|
||||
"r1": { "y": 162, "name": "四轨时的第四轨" },
|
||||
"r2": { "y": 141, "name": "三轨时的第三轨" },
|
||||
"r3": { "y": 120, "name": "二轨时的第一轨/四轨时的第三轨" },
|
||||
"r4": { "y": 99, "name": "一轨时的第一轨/三轨时的第二轨" },
|
||||
"r5": { "y": 78, "name": "二轨时的第二轨/四轨时的第三轨" },
|
||||
"r6": { "y": 57, "name": "三轨时的第三轨" },
|
||||
"r7": { "y": 36, "name": "四轨时的第四轨" },
|
||||
"r5": { "y": 78, "name": "二轨时的第二轨/四轨时的第二轨" },
|
||||
"r6": { "y": 57, "name": "三轨时的第一轨" },
|
||||
"r7": { "y": 36, "name": "四轨时的第一轨" },
|
||||
}
|
||||
|
||||
function themePosition() {
|
||||
|
||||
@ -471,7 +471,7 @@ main.hidden {
|
||||
}
|
||||
|
||||
.sidebar-toggle {
|
||||
background: linear-gradient(to right, transparent 50px, #0ff8);
|
||||
background: linear-gradient(to right, #0dd 50px, #0ff8);
|
||||
border: 0;
|
||||
outline: none;
|
||||
padding: 10px;
|
||||
@ -967,7 +967,7 @@ section.cover blockquote>p>a {
|
||||
}
|
||||
|
||||
.markdown-section code {
|
||||
border-radius: 2px;
|
||||
border-radius: 4px;
|
||||
margin: 0 2px;
|
||||
padding: 3px 5px;
|
||||
white-space: pre-wrap
|
||||
@ -1228,3 +1228,26 @@ article.markdown-section:has(.intro)>.notice[onclick] {
|
||||
transition: all 0.5s;
|
||||
}
|
||||
}
|
||||
|
||||
div.medium-zoom-overlay{
|
||||
opacity: 0.5 !important;
|
||||
}
|
||||
|
||||
del{
|
||||
text-decoration: none;
|
||||
background-color: #5C5D67;
|
||||
color: #5C5D67;
|
||||
transition: background-color 0.1s, color 0.1s;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background-color: #7B7C84;
|
||||
color: #7B7C84;
|
||||
transition: background-color 0.1s, color 0.1s;
|
||||
}
|
||||
&:active {
|
||||
background-color: inherit;
|
||||
color: inherit;
|
||||
transition: background-color 0.1s, color 0.1s;
|
||||
}
|
||||
}
|
||||
@ -128,7 +128,7 @@ body {
|
||||
.markdown-section h3,
|
||||
.markdown-section h4,
|
||||
.markdown-section strong {
|
||||
color: var(--section-background-color);
|
||||
color: var(--section-color);
|
||||
}
|
||||
|
||||
.markdown-section a {
|
||||
@ -142,7 +142,7 @@ body {
|
||||
|
||||
.markdown-section code {
|
||||
background-color: var(--section-main-color);
|
||||
color: var(--section-background-color);
|
||||
color: var(--theme-color);
|
||||
font-family: d9c, d9;
|
||||
}
|
||||
|
||||
@ -221,3 +221,7 @@ article.markdown-section:has(.intro)>.notice {
|
||||
background-color: var(--section-main-color);
|
||||
}
|
||||
}
|
||||
|
||||
div.medium-zoom-overlay{
|
||||
background-color: var(--background-color) !important;
|
||||
}
|
||||
@ -2,6 +2,7 @@ body.dark {
|
||||
--main-color: #c8c8c8;
|
||||
--main-theme-color: #008080;
|
||||
--background-color: #1f1f1f;
|
||||
--background-border-color: #303030;
|
||||
--section-main-color: #0f0f0f;
|
||||
--section-background-color: #003333;
|
||||
--section-table-header-border-color: #303030;
|
||||
@ -15,6 +16,8 @@ body.dark {
|
||||
--notice-border-color: #303030;
|
||||
--notice-hover-background-color: #525252cc;
|
||||
-webkit-tap-highlight-color: rgb(0, 0, 0);
|
||||
|
||||
--special-theme-position-backgound-color: #177500;
|
||||
}
|
||||
|
||||
body.dark .sidebar li>a:has(>img) {
|
||||
|
||||
@ -2,6 +2,7 @@ body.light {
|
||||
--main-color: #202020;
|
||||
--main-theme-color: #008585;
|
||||
--background-color: #dddddd;
|
||||
--background-border-color: #b1b1b1;
|
||||
--section-main-color: #00c9c9;
|
||||
--section-background-color: #009999;
|
||||
--section-table-header-border-color: #b1b1b1;
|
||||
@ -15,6 +16,8 @@ body.light {
|
||||
--notice-border-color: #b1b1b1;
|
||||
--notice-hover-background-color: #e0e0e0;
|
||||
-webkit-tap-highlight-color: rgb(255, 255, 255);
|
||||
|
||||
--special-theme-position-backgound-color: #05a000;
|
||||
}
|
||||
|
||||
body.light .sidebar li>a:has(>img) {
|
||||
|
||||
@ -114,9 +114,9 @@ div.theme-positions>.infobox {
|
||||
width: max-content;
|
||||
height: max-content;
|
||||
padding: 3px;
|
||||
border: 2px solid #535353;
|
||||
border: 2px solid var( --background-border-color);
|
||||
border-radius: 2px;
|
||||
background-color: #363636;
|
||||
background-color: var(--background-color);
|
||||
text-align: center;
|
||||
z-index: 20;
|
||||
font-size: 15px;
|
||||
@ -130,7 +130,7 @@ div.theme-positions>.infobox {
|
||||
font-weight: bold;
|
||||
|
||||
&.c {
|
||||
background-color: #177500;
|
||||
background-color: var(--special-theme-position-backgound-color);
|
||||
border-radius: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user