我正在使用以下示例的钢琴 click functions through references variables on a canvas-possible?
我正在尝试模拟钢琴键,我有一系列音符和音符。然后按照说明,它应该显示在特定时间按下的钢琴键的状态。
我尝试过一个带有延迟功能的简单测试,如下所示,但它不起作用,
function playnote(){
var rect = canvas.getBoundingClientRect();
ctx.beginPath();
ctx.fillStyle = '#fa3';
a = arrayWhites[notecounter ];
ctx.rect(a[0], 0, whiteKeyWidth - 2, h - 1);
ctx.fill();
renderPiano(true).delay(300);
renderPiano(false);
}
答案 0 :(得分:0)
我有一个解决方案
再写一个函数
function stopplay()
{
renderPiano(false);
}
在
之后打电话给他们setTimeout(function(){ playnote() }, 0000);
setTimeout(function(){ stopplay() }, 1000);
按键将按下&一秒后释放。 您可以在问题中显示的playnote()函数中按照数组操作钢琴键,并删除“renderPiano(false);”行。 &安培;来自playnote()的延迟()
function playnote(){
var rect = canvas.getBoundingClientRect();
ctx.beginPath();
ctx.fillStyle = '#fa3';
a = arrayWhites[notecounter ];
ctx.rect(a[0], 0, whiteKeyWidth - 2, h - 1);
ctx.fill();
renderPiano(true);
//renderPiano(false);
}