2012-04-27 93 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