什么是 fretted-strings?
fretted-strings 是一个基于 JavaScript 的 npm 包,它可以生成一组指定数量和长度的弦。它非常适合用于音乐类应用、游戏场景、交互式动画等场景。
安装
你可以使用 npm 安装 fretted-strings:
--- ------- ---------------
快速上手
----- -------------- - --------------------------- ----- ------- - --- ----------------- ---- ------------------- ---------------------------
上面的代码会生成一组 6 根长度为 25 的弦,并输出它们的音符。
配置
构造函数
FrettedStrings 的构造函数需要传入两个参数:stringCount 和 stringLength。分别是弦的数量和长度。例如:
----- ------- - --- ----------------- ----
表示生成 6 根长度为 25 的弦。
相关方法和属性
生成弦后,我们可以使用一些方法和属性来访问和操作这些弦。
方法
generate
生成弦,并初始化一些相关属性。
-------------------
noteAt
获取指定弦和位置的音符。
----- ---- - ----------------- --- -- --- - ------ - ---
属性
notes
获取所有弦的音符数组。
----- -------- - -------------- -- ----------
currentString
获取当前弦的编号(从 0 开始)。
----- ------------------- - ---------------------- -- --------
currentNote
获取当前弦上弹奏的音符。
----- ----------- - -------------------- -- -----------
示例
我们来看一个更加详细的示例。以下是一个小程序,里面包含了一个使用 fretted-strings 生成弦的例子。
----- -------------- - --------------------------- ----- ------- - --- ----------------- ---- ----- -------- - - ------ ---- --------- -- ----- ---- -- ----- ------- - ----------------- ---------- ----- ------ - --------------------------------- ----- --- - ------------------------ -------- - ----- ------- -------- ------ - ---------------------------- ---------------- -- ------------- --------------- --- ---- - - -- - - ----------------------- ---- - ----- ------ - ------------------- --- ---- - - -- - - -------------- ---- - ----- ---- - ---------- -- -------------- - ------------- - ------ - ---- - ------------- - -------- - ----------------------- - - -- - - - --- --------- - ---- - - - -------- ------- - ----- ---------- - -------------- -- - --------------- -- --------------------- - ----- ---- - -------------------- -- ---------- --- ----------------- - ------------ - - -- --------------- -------------- -- - ------------------ -- ------ ------- - --------
这是一个在 canvas 上显示弦的程序,并且可以播放该弦的一个音符。程序里用到了多个 fretted-strings 的方法和属性。如果你对此感兴趣,可以了解一下并尝试运行下这个程序。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f292cf13b0ab45f74a8ba89