2012-04-27 66 views
3

所以,我有以下代码向上动画的东西......这是非常基本的...Javascript和帆布 - 动画正弦波

SetInterval(function() { 
    particlesY -= 1; 
}, 10); 

然后循环这样:

ctx.clearRect(0,0,canvas.width,canvas.height); 
ctx.drawRect(50, particlesY, 32, 32); 

这工作正常,但我想要一点X轴变化 - 我可以使用Math.random()得到一个随机的方向,但结果是非常生涩,非常可笑。

我觉得正弦波会给我一个很好的平滑的X轴变化。

任何想法? :(

回答

2

正弦波应该是相当简单:

ctx.drawRect(Math.sin(particlesY) * 100, particlesY, 32, 32); 
+0

'Math.sin()'采用弧度 - 1递减'particlesY'每一个循环只会给你每个周期6.28样本... – Alnitak 2012-04-27 13:27:53

+0

对不起,我在想,在我回答之后,在得到罪之前将粒子Y分成一些标量是明智的。 – bharling 2012-04-27 14:20:00