VexFlow 4.2.2中如何显示附点音符?
VexFlow 4.2.2中如何显示附点音符?
我懂你的困扰啦——你写了附点四分音符的代码,时值计算是对的,但谱子上就是看不到那个关键的附点,对吧?
在VexFlow 4.2.2里,仅仅在duration参数里写"qd"只能让程序识别音符的时值,视觉上的附点需要手动调用方法添加。你只需要在创建完StaveNote后,调用addDot()方法就能让附点显示出来啦,具体代码如下:
// 创建附点四分音符 const note = new Vex.Flow.StaveNote({keys: ["c/4"], duration: "qd" }); // 给第一个符头添加附点(因为这里只有一个符头,所以传入索引0) note.addDot(0); // 后续将音符添加到谱表并完成渲染的代码...
如果是多符头的和弦音符,你可以针对特定索引的符头添加附点,或者循环给所有符头加上:
const chordNote = new Vex.Flow.StaveNote({keys: ["c/4", "e/4", "g/4"], duration: "qd" }); // 给第一个符头加附点 chordNote.addDot(0); // 要是想给所有符头加附点,可以这样循环 for (let i = 0; i < chordNote.keys.length; i++) { chordNote.addDot(i); }
这样处理之后,附点就会正常显示在谱子上啦~
备注:内容来源于stack exchange,提问作者Guy44
相关产品推荐
相关产品推荐

