开发文档
- 谱面
TIP
v0.5.0 以前的谱面后缀为d3 内部格式为lua table的格式 v0.5.0 以后的谱面后缀为json
谱面基本格式:
lua
{
bpm_list = { --bpm列表 bpm_list中至少有一个bpm
{beat = {0,0,1},bpm = 120},
},
note = {}, --note
event = {}, --event
tarck = {}, --轨道属性
effect = {}, --整体影响 可以做些特效
offset = 0 , --偏移值
info = { --谱面基本信息
song_name = [[]], --歌曲名
chart_name = [[]], --谱面名
chartor = [[]], --谱师
artist = [[]], --曲师
}
}细则:
- beat的3个数值分别为beat的整数部分 分数分子 分数分母 大小为beat[1] + beat[2] / beat[3]
note结构:
lua
{
track=5, --所在轨道
beat={6,4,4}, --note的beat
beat2={6,4,4}, --仅在type为hold时有用 为hold尾部beat
type='hold', --有三种 note wipe hold
fake=0, --为1时为假note
note_head=0, --0.5.0更新 仅在type为hold时有用 为1时hold头自带note
wipe_head=0 --0.5.0更新 仅在type为hold时有用 为1时hold头自带wipe
}event结构:
0.5.0之后:
lua
beat = { 0, 0, 1 }, --event头部的beat
beat2 = { 0, 0, 1 }, --event尾部的beat
track = 1, --所在轨道
type = 'x', --类型有x w x为轨道中心所在坐标 w为轨道宽度(该event所在track的模式为lrpos时 x读取为轨道左边界 w读取为轨道右边界)
from = 1, --event起始值
to = 1, --event终点值
trans = { --过渡
trans = {0,0,1,1}, --过渡类型为bezier时读取 为bezier坐标点
type = 'bezier', --过渡类型 有bezier与easings
easings = 1 --过渡类型为easings时读取 easings为标准easings表
},0.5.0之前:
lua
{
track=3, --所在轨道
beat={4,1,1,}, --event头部的beat
beat2={5,1,4,}, --event尾部的beat
trans={0,0,1,1,}, --bezier的坐标点 只能为三阶bezier曲线
from=100, --event起始值 --版本小于等于0.2.0的为form(打错字了)
type='x', --类型有x w x为轨道中心所在坐标 w为轨道宽度
to=0, --event终点值
}track结构:
lua
{
name = '', --轨道别名
w0thenShow = 0, --当w0thenShow=1时在轨道宽度为0时不会隐藏
type = 'xw' --轨道模式,有xw(常规)与lrpos(将x读取为轨道左边界 w读取为轨道右边界)模式
}key:
lua
{
placeNote = {'q'}, --放置note
placeWipe = {'w'}, --放置wipe
placeHold = {'e'}, --放置hold
placeEvent = {'e'}, --#放置event
delete = {'d'}, --删除note或event
demo = {'tab'}, --预览或关闭预览
play = {'space'}, --播放或暂停
trackUp = {'right'}, --轨道加1
trackDown = {'left'}, --轨道减1
denomUp = {'up'}, --节拍分度+1
denomDown = {'down'}, --节拍分度-1
select = {'shift'}, --框选确认
copy = {'ctrl','c'}, --复制
paste = {'ctrl','v'}, --粘贴
pasteAll = {'ctrl','a','v'}, --粘贴,包括event
flipPasteAll = {'ctrl','a','b'}, --取反event粘贴,包括event(为了统一)
flipPaste = {'ctrl','b'}, --取反event粘贴
cut = {'ctrl','x'}, --剪切
accelerate = {'ctrl'}, --滚动加速
deleteSelect = {'ctrl','d'}, --删除所选
deleteAllSelect = {'ctrl','a','d'}, --删除,包括event的所选
undo = {'ctrl','z'}, --撤销
redoing = {'ctrl','y'}, --重做
save = {'ctrl','s'}, --保存
flipEvent = {'alt','b'}, --翻转event数值
cutEventOrHold = {'alt','c'}, --裁切hold或event
dragHead = {'alt','z'}, --拖头
dragTail = {'alt','x'}, --拖尾
adjustEventValue = {'alt','t'}, --调整event数值
flipUpsideDownEvent = {'alt','u'}, --上下翻转event
}