将 rdview 底层全量替换为 rdtkview
This commit is contained in:
+68
-68
@@ -15,14 +15,14 @@
|
||||
在“**循环**”的空栏里输入次数,这个单发拍就会被**额外**重复这么多次。当然了,直接输入循环次数的方法并不够方便,因为很多时候不听具体音乐自己也不知道该循环多少次。更方便的方法是,把鼠标移动到工作区的这个单发拍子上,右上角就会出现一个**红色的箭头符号**,按住它并拖动即可。
|
||||
|
||||
```rdview 7 3
|
||||
eb.AddOneshotBeat 1 1[tick=1,loop=2];
|
||||
AddOneshotBeat 1 1[tick=1,loop=2];
|
||||
```
|
||||
|
||||
在循环设置后,左上角又会多出一个“**间隔**”的设置,指的是两个绿线之间的时间长度。大多数时候,我们会将间隔设为拍长的两倍,这也就构成了一个普通单发拍子。但如果你想设计更为复杂的单发拍子节奏型,也可以试着将间隔改为其他数值:例如,把间隔改成`1`,拍长改成`0.75`,就变成了一种摇摆单发拍子。
|
||||
|
||||
```rdview 10 3
|
||||
eb.AddOneshotBeat 1 1[loop=1];
|
||||
eb.AddOneshotBeat 5 1[tick=0.75,loop=3,interval=1];
|
||||
AddOneshotBeat 1 1[loop=1];
|
||||
AddOneshotBeat 5 1[tick=0.75,loop=3,interval=1];
|
||||
```
|
||||
|
||||
配置好带有循环的单发拍之后,按一下“**分解为单发节拍**”,会发现它被拆散成了若干个没有循环的单发拍事件。分解后的单发拍更加便于修改,你可以为它们单独添加修饰符或额外的脉冲。
|
||||
@@ -42,80 +42,80 @@ eb.AddOneshotBeat 5 1[tick=0.75,loop=3,interval=1];
|
||||
将护士语音的拍长与单发拍的拍长保持一致,并将护士**喊出`Go!`的位置**与 **第一个普通单发拍的脉冲位置** 对齐即可,这样就完成了对一个普通单发拍的提示。
|
||||
|
||||
```rdview 16 12
|
||||
eb.AddOneshotBeat 5 1[tick=2];
|
||||
eb.AddOneshotBeat 9 1[tick=2];
|
||||
eb.AddOneshotBeat 13 1[tick=2];
|
||||
AddOneshotBeat 5 1[tick=2];
|
||||
AddOneshotBeat 9 1[tick=2];
|
||||
AddOneshotBeat 13 1[tick=2];
|
||||
g 1 2 4 1[offset=4 0]{
|
||||
g 0 -1 0 2 #0f08{
|
||||
es.SayReadyGetSetGo_Get 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSayGet];
|
||||
};
|
||||
g 2 -1 0 2 #ff08{
|
||||
es.SayReadyGetSetGo_Set 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSaySet];
|
||||
};
|
||||
g 4 -1 0 2 #f008{
|
||||
es.SayReadyGetSetGo_Go 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSayGo];
|
||||
};
|
||||
};
|
||||
eb.AddOneshotBeat 5 4;
|
||||
eb.AddOneshotBeat 7 4;
|
||||
eb.AddOneshotBeat 9 4;
|
||||
eb.AddOneshotBeat 11 4;
|
||||
eb.AddOneshotBeat 13 4;
|
||||
AddOneshotBeat 5 4;
|
||||
AddOneshotBeat 7 4;
|
||||
AddOneshotBeat 9 4;
|
||||
AddOneshotBeat 11 4;
|
||||
AddOneshotBeat 13 4;
|
||||
g 1 5 4 2[offset=4 0]{
|
||||
es.SayReadyGetSetGo_ReaDyGetSetGo 0 0;
|
||||
SayReadyGetSetGo 0 0[phraseToSay=SayReaDyGetSetGoNew];
|
||||
g 0 -1 0 3 #0f08{
|
||||
es.SayReadyGetSetGo_Rea 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSayRea];
|
||||
};
|
||||
g 1 -1 0 3 #ff08{
|
||||
es.SayReadyGetSetGo_Dy 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSayDy];
|
||||
};
|
||||
g 2 -1 0 3 #0f08{
|
||||
es.SayReadyGetSetGo_Get 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSayGet];
|
||||
};
|
||||
g 3 -1 0 3 #ff08{
|
||||
es.SayReadyGetSetGo_Set 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSaySet];
|
||||
};
|
||||
g 4 -1 0 3 #F008{
|
||||
es.SayReadyGetSetGo_Go 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSayGo];
|
||||
};
|
||||
};
|
||||
eb.AddOneshotBeat 5 8[tick=0.5];
|
||||
eb.AddOneshotBeat 6 8[tick=0.5];
|
||||
eb.AddOneshotBeat 7 8[tick=0.5];
|
||||
eb.AddOneshotBeat 8 8[tick=0.5];
|
||||
eb.AddOneshotBeat 9 8[tick=0.5];
|
||||
eb.AddOneshotBeat 10 8[tick=0.5];
|
||||
eb.AddOneshotBeat 11 8[tick=0.5];
|
||||
eb.AddOneshotBeat 12 8[tick=0.5];
|
||||
eb.AddOneshotBeat 13 8[tick=0.5];
|
||||
eb.AddOneshotBeat 14 8[tick=0.5];
|
||||
AddOneshotBeat 5 8[tick=0.5];
|
||||
AddOneshotBeat 6 8[tick=0.5];
|
||||
AddOneshotBeat 7 8[tick=0.5];
|
||||
AddOneshotBeat 8 8[tick=0.5];
|
||||
AddOneshotBeat 9 8[tick=0.5];
|
||||
AddOneshotBeat 10 8[tick=0.5];
|
||||
AddOneshotBeat 11 8[tick=0.5];
|
||||
AddOneshotBeat 12 8[tick=0.5];
|
||||
AddOneshotBeat 13 8[tick=0.5];
|
||||
AddOneshotBeat 14 8[tick=0.5];
|
||||
g 1 9 4 2[offset=4 0]{
|
||||
g 0 -1 0 2 #0f08{
|
||||
es.SayReadyGetSetGo_Rea 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSayRea];
|
||||
};
|
||||
g 0.5 -1 0 3 #ff08{
|
||||
es.SayReadyGetSetGo_Dy 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSayDy];
|
||||
};
|
||||
g 1 -1 0 2 #0f08{
|
||||
es.SayReadyGetSetGo_Rea 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSayRea];
|
||||
};
|
||||
g 1.5 -1 0 3 #ff08{
|
||||
es.SayReadyGetSetGo_Dy 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSayDy];
|
||||
};
|
||||
g 2 -1 0 2 #0f08{
|
||||
es.SayReadyGetSetGo_Rea 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSayRea];
|
||||
};
|
||||
g 2.5 -1 0 3 #ff08{
|
||||
es.SayReadyGetSetGo_Dy 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSayDy];
|
||||
};
|
||||
g 3 -1 0 2 #0f08{
|
||||
es.SayReadyGetSetGo_Get 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSayGet];
|
||||
};
|
||||
g 3.5 -1 0 3 #ff08{
|
||||
es.SayReadyGetSetGo_Set 0 2;
|
||||
SayReadyGetSetGo 0 2[phraseToSay=JustSaySet];
|
||||
};
|
||||
g 4 -1 0 2 #F008{
|
||||
es.SayReadyGetSetGo_Go 0 1;
|
||||
SayReadyGetSetGo 0 1[phraseToSay=JustSayGo];
|
||||
};
|
||||
};
|
||||
```
|
||||
@@ -131,30 +131,30 @@ g 1 9 4 2[offset=4 0]{
|
||||
也可以让单发拍子在几种拍速之间来回切换,提示方法与前面所讲的相同。只需要注意一点:单发拍子的节奏型应该在**Go!的瞬间**完成切换,Go之前的护士提示不会影响当前正在进行的单发拍子,而 Go 之后也不应再出现前一种单发拍子的节拍。
|
||||
|
||||
```rdview 20 5
|
||||
eb.AddOneshotBeat 3 1;
|
||||
eb.AddOneshotBeat 5 1;
|
||||
eb.AddOneshotBeat 7 1[tick=0.5];
|
||||
eb.AddOneshotBeat 8 1[tick=0.5];
|
||||
eb.AddOneshotBeat 9 1[tick=0.5];
|
||||
eb.AddOneshotBeat 10 1[tick=0.5];
|
||||
eb.AddOneshotBeat 11 1;
|
||||
eb.AddOneshotBeat 13 1;
|
||||
eb.AddOneshotBeat 15 1[tick=0.75];
|
||||
eb.AddOneshotBeat 16 1[tick=0.75];
|
||||
eb.AddOneshotBeat 17 1[tick=0.75];
|
||||
eb.AddOneshotBeat 18 1[tick=0.75];
|
||||
es.SayReadyGetSetGo_Get 1 2;
|
||||
es.SayReadyGetSetGo_Set 2 2;
|
||||
es.SayReadyGetSetGo_Go 3 2;
|
||||
es.SayReadyGetSetGo_Get 6 2;
|
||||
es.SayReadyGetSetGo_Set 6.5 3;
|
||||
es.SayReadyGetSetGo_Go 7 2;
|
||||
es.SayReadyGetSetGo_Get 9 2;
|
||||
es.SayReadyGetSetGo_Set 10 2;
|
||||
es.SayReadyGetSetGo_Go 11 2;
|
||||
es.SayReadyGetSetGo_Get 14 2;
|
||||
es.SayReadyGetSetGo_Set 14.75 3;
|
||||
es.SayReadyGetSetGo_Go 15 2;
|
||||
AddOneshotBeat 3 1;
|
||||
AddOneshotBeat 5 1;
|
||||
AddOneshotBeat 7 1[tick=0.5];
|
||||
AddOneshotBeat 8 1[tick=0.5];
|
||||
AddOneshotBeat 9 1[tick=0.5];
|
||||
AddOneshotBeat 10 1[tick=0.5];
|
||||
AddOneshotBeat 11 1;
|
||||
AddOneshotBeat 13 1;
|
||||
AddOneshotBeat 15 1[tick=0.75];
|
||||
AddOneshotBeat 16 1[tick=0.75];
|
||||
AddOneshotBeat 17 1[tick=0.75];
|
||||
AddOneshotBeat 18 1[tick=0.75];
|
||||
SayReadyGetSetGo 1 2[phraseToSay=JustSayGet];
|
||||
SayReadyGetSetGo 2 2[phraseToSay=JustSaySet];
|
||||
SayReadyGetSetGo 3 2[phraseToSay=JustSayGo];
|
||||
SayReadyGetSetGo 6 2[phraseToSay=JustSayGet];
|
||||
SayReadyGetSetGo 6.5 3[phraseToSay=JustSaySet];
|
||||
SayReadyGetSetGo 7 2[phraseToSay=JustSayGo];
|
||||
SayReadyGetSetGo 9 2[phraseToSay=JustSayGet];
|
||||
SayReadyGetSetGo 10 2[phraseToSay=JustSaySet];
|
||||
SayReadyGetSetGo 11 2[phraseToSay=JustSayGo];
|
||||
SayReadyGetSetGo 14 2[phraseToSay=JustSayGet];
|
||||
SayReadyGetSetGo 14.75 3[phraseToSay=JustSaySet];
|
||||
SayReadyGetSetGo 15 2[phraseToSay=JustSayGo];
|
||||
```
|
||||
|
||||
一个单发拍子不可能无限循环下去,总会有停下来的时候,可以使用护士提示中的`Stop`告知玩家单发拍子的结束。通常情况下,应使`Stop`对齐单发拍子的**最后一次击拍位置**。
|
||||
@@ -164,12 +164,12 @@ es.SayReadyGetSetGo_Go 15 2;
|
||||
如果单发拍子的停止时机足够符合直觉,可以省略单发拍子的Stop,但必须保证玩家下意识多打出的拍子不会判Miss。最稳妥的方法永远是为所有单发拍子的停止都添加 Stop 提示。
|
||||
|
||||
```rdview 10 3
|
||||
eb.AddClassicBeat 2.5[tick=6];
|
||||
eb.AddOneshotBeat 1 1[];
|
||||
eb.AddOneshotBeat 3 1[];
|
||||
eb.AddOneshotBeat 5 1[];
|
||||
AddClassicBeat 2.5[tick=1];
|
||||
AddOneshotBeat 1 1[];
|
||||
AddOneshotBeat 3 1[];
|
||||
AddOneshotBeat 5 1[];
|
||||
g 7 1 1 1{
|
||||
eb.AddOneshotBeat[grayscale=100];
|
||||
AddOneshotBeat[grayscale=100];
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user