跳至內容

「谱面格式」:修訂間差異

增加 602 位元組 、​ 2024年3月6日 (星期三)
补充一些小细节之类的
無編輯摘要
(补充一些小细节之类的)
行 52: 行 52:
  timing(t,bpm,beats);
  timing(t,bpm,beats);


*'''t'''(ms):Timing起始位置,数字为整数
*'''t'''(ms):Timing起始位置,数字为 非负 整数
*'''bpm'''(拍/分钟):节奏速度,数字为小数
*'''bpm'''(拍/分钟):节奏速度,数字为小数
*'''beats'''(四分音个数(拍)):表示每多少个四分音符(拍)为一小节(出现一条小节线),数字为小数,比如4.00就是4/4拍,代表四拍一小节
*'''beats'''(四分音个数(拍)):表示每多少个四分音符(拍)为一小节(出现一条小节线),数字为小数,比如4.00就是4/4拍,代表四拍一小节
行 62: 行 62:
  hold(t1,t2,lane);
  hold(t1,t2,lane);


*'''t'''(ms):地面Note所在时间,数字为整数
*'''t'''(ms):地面Note所在时间,数字为 非负 整数
*'''t1,t2'''(ms):地面Hold物件开始/结束的时间,数字为整数,'''t1<t2'''
*'''t1,t2'''(ms):地面Hold物件开始/结束的时间,数字为 非负 整数,'''t1<t2'''
*'''lane'''(0~5/float): 物件所在轨道,一般情况下轨道的编号从左到右依次为1,2,3,4,绝大部分情况下也只需要用到1~4轨道;当该值为float时候,则使用坐标作为该note的位置,float轨道坐标与arc坐标的映射公式为 '''-0.5 + lane * 2''',请注意:如果要使用float轨道note最好是将它作为演出note使用,而不是当正常note使用,因为它的判定不同于正常轨道note的判定
*'''lane'''(0~5/float): 物件所在轨道,一般情况下轨道的编号从左到右依次为1,2,3,4,绝大部分情况下也只需要用到1~4轨道;当该值为float时候,则使用坐标作为该note的位置,float轨道坐标与arc坐标的映射公式为 '''-0.5 + lane * 2''',请注意:如果要使用float轨道note最好是将它作为演出note使用,而不是当正常note使用,因为它的判定不同于正常轨道note的判定
**4.0.0版本起新增 “enwidenlane ”的scenecontrol类型(见下文Scenecontrol),在标记为启用后,轨道由4条扩充至6条,在1轨左侧新增0轨,在4轨右侧新增5轨;在不在谱面文件内标记开启 “enwidenlane ”的情况下,游戏依然会正常摆放相应物件<s>(但是你打不到)</s>
**4.0.0版本起新增 “enwidenlanes ”的scenecontrol类型(见下文Scenecontrol),在标记为启用后,轨道由4条扩充至6条,在1轨左侧新增0轨,在4轨右侧新增5轨;在不在谱面文件内标记开启 “enwidenlanes ”的情况下,游戏依然会正常摆放相应物件<s>(但是你打不到)</s>


===Arc & 天空Note(Arctap)===
===Arc & 天空Note(Arctap)===
行 71: 行 71:
  arc(t1,t2,x1,x2,easing,y1,y2,color,hitsound,skylineBoolean);
  arc(t1,t2,x1,x2,easing,y1,y2,color,hitsound,skylineBoolean);


*'''t1,t2'''(ms):Arc物件开始/结束的时间,数字为整数,'''t1可以等于t2''',当t1=t2时,Arc与判定线平行,物量为0,且此种类型的Arc可以起到连接Arc组的作用(即宏观上算作不分立的Arc,不能换手)
*'''t1,t2'''(ms):Arc物件开始/结束的时间,数字为 非负 整数,'''t1可以等于t2''',当t1=t2时,Arc与判定线平行,物量为0,且此种类型的Arc可以起到连接Arc组的作用(即宏观上算作不分立的Arc,不能换手)
**只有skylineBoolean=true时t1可以大于t2
**只有skylineBoolean=true时t1可以大于t2
*'''x1,x2''':代表Arc物件开始/结束时的横坐标,'''数字为小数'''
*'''x1,x2''':代表Arc物件开始/结束时的横坐标,'''数字为小数'''
行 79: 行 79:
*'''color''':Arc颜色,0蓝,1红,2绿,'''在skylineBoolean=true时该参数无意义,且能被游戏正常读取''' ''(很多官方谱面中出现color=3的黑线推测是为方便谱师写黑线时做标记用)''
*'''color''':Arc颜色,0蓝,1红,2绿,'''在skylineBoolean=true时该参数无意义,且能被游戏正常读取''' ''(很多官方谱面中出现color=3的黑线推测是为方便谱师写黑线时做标记用)''
**只有愚人节版本(v2.0.2、v2.6.1、v3.5.3、v3.12.6)可以正常读取绿Arc,其他版本不能正常读取绿Arc
**只有愚人节版本(v2.0.2、v2.6.1、v3.5.3、v3.12.6)可以正常读取绿Arc,其他版本不能正常读取绿Arc
**另外color=3的Arc在v4.0.0版本后会显示为灰色且可以正常判定,并且没有换手限制。''但官方谱面从未实装过这种类型的Arc,且其功能可以用重叠的红蓝音弧替代,疑似废稿?''
*'''hitsound''':v4.0.0实装,给予Arctap特殊打击音效,'''对整条黑线上所有的Arctap生效,'''将它们替换为特殊样式,并应用特殊打击音效。举例:填写glass_wav时,将把/(songid)/glass.wav作为打击音效,填写“none”代表不应用特殊音效,无arctap或skylineBoolean=false时,该参数无意义(但是不能乱填,起码不能让游戏崩溃),等价于填写“none”
*'''hitsound''':v4.0.0实装,给予Arctap特殊打击音效,'''对整条黑线上所有的Arctap生效,'''将它们替换为特殊样式,并应用特殊打击音效。举例:填写glass_wav时,将把/(songid)/glass.wav作为打击音效,填写“none”代表不应用特殊音效,无arctap或skylineBoolean=false时,该参数无意义(但是不能乱填,起码不能让游戏崩溃),等价于填写“none”
*'''skylineBoolean'''(false,true):判定这一段Arc是不是天空Note的判定线(黑线)。false为普通Arc,true为天空Note的判定线,但是只要有Arctap本参数就无意义(会将此Arc的类型强制转换为天空Note的判定线)
*'''skylineBoolean'''(false,true):判定这一段Arc是不是天空Note的判定线(黑线)。false为普通Arc,true为天空Note的判定线,但是只要有Arctap本参数就无意义(会将此Arc的类型强制转换为天空Note的判定线)
行 85: 行 86:
  arc(t1,t2,x1,x2,easing,y1,y2,color,hitsound,true)[arctap(tn1),arctap(tn2),……,arctap(tnm)];
  arc(t1,t2,x1,x2,easing,y1,y2,color,hitsound,true)[arctap(tn1),arctap(tn2),……,arctap(tnm)];


*'''tn1,tn2,……,tnm'''(ms):m个天空物件在这条判定线上的时间点,数字为整数,且不能超出t1和t2的区间
*'''tn1,tn2,……,tnm'''(ms):m个天空物件在这条判定线上的时间点,数字为 非负 整数,且不能超出t1和t2的区间
*实际上arctap的关键字也可以用at代替,但官方谱面中从未使用过这一别名,请谨慎使用


===Camera===
===Camera===
行 103: 行 105:
*'''duration''' (ms): 语句持续时间
*'''duration''' (ms): 语句持续时间
''请注意,xyz轴移动的坐标并非与物件位置坐标相同。物件x坐标1.00对应850的移动距离;y坐标1.00对应450的移动距离。''
''请注意,xyz轴移动的坐标并非与物件位置坐标相同。物件x坐标1.00对应850的移动距离;y坐标1.00对应450的移动距离。''
''本功能在v1.7.0在代码中被标记关闭,v1.8.0中相关代码被彻底删除,但在之后的愚人节版本(v2.0.2、v2.6.1、v3.5.3、v3.12.6)中被恢复''
''本功能在v1.7.0在代码中被标记关闭,v1.8.0中相关代码被彻底删除,但在之后的愚人节版本(v2.0.2、v2.6.1、v3.5.3、v3.12.6)中被恢复 ,且v4.0.0版本后不再在非愚人节版本中删除''


===Scenecontrol===
===Scenecontrol===
行 113: 行 115:
*'''t'''(ms):开始时间
*'''t'''(ms):开始时间
*'''type''':要执行的场景控制类型
*'''type''':要执行的场景控制类型
*'''param''':参数,“*”代表可选,但是两个参数同时出现/不出现
*'''param''':参数,“*”代表可选,但是两个参数 必须 同时出现/不出现


 目前已知可填写的type及其参数情况如下:
 目前已知可填写的type及其参数情况如下:
行 148: 行 150:
:**param2:淡入或淡出该事件展示的效果(1/0)
:**param2:淡入或淡出该事件展示的效果(1/0)
:**使用例:''scenecontrol(1000,enwidencamera,1000.00,1);''
:**使用例:''scenecontrol(1000,enwidencamera,1000.00,1);''
:***enwidencamera的相机移动效果实际相当于camera(t,0,450,450,0,0,0,s,duration);语句,但enwidencamera会同时将Sky Input线移动至y=1.61处。
:***enwidencamera的相机移动效果实际相当于camera(t,0,450,450,0,0,0,s,duration);语句,但enwidencamera会同时将Sky Input线移动至y=1.61处 ,同时也不会关闭接Arc时的相机抖动


===Timinggroup===
===Timinggroup===
行 181: 行 183:
**两者可以叠加,叠加时先绕x轴平行线转再绕y轴平行线转,不受参数顺序影响
**两者可以叠加,叠加时先绕x轴平行线转再绕y轴平行线转,不受参数顺序影响
***例:timinggroup(angley3400_anglex200)则会将所有天键的轨迹绕其对应的x轴平行线向上旋转20°然后绕其对应的y轴平行线向右旋转20°
***例:timinggroup(angley3400_anglex200)则会将所有天键的轨迹绕其对应的x轴平行线向上旋转20°然后绕其对应的y轴平行线向右旋转20°
**愚人节版本过后此特性并未第一时间移除,而是直到v5.0.0才从代码中消失,原因不明


===Flick===
===Flick===
135

次編輯