2012-04-27 6 views
3

그래서, 내가 위쪽으로 뭔가를 애니메이션하려면 다음 코드를 사인파 애니메이션 :자바 스크립트와 캔버스 - 같은 그런</p> <pre><code>SetInterval(function() { particlesY -= 1; }, 10); </code></pre> <p>... 아주 기본입니다 ... 루프를

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

+0

죄송합니다. 나는 대답 한 후에 죄를 얻기 전에 입자를 스칼라로 나누는 것이 현명 할 것이라고 생각했습니다. – bharling