2012-03-30 4 views
0

캔버스의 컨텍스트를 가져오고 두 개의 Rectange Objects를 추가하여 캔버스에 그릴 수있는 간단한 코드를 작성했습니다. 내 문제는 context.clearRect();를 사용하려고 할 때 나는 그들을 움직일 수 없다는 것이다. 문맥이 미정 도리 인 것을 나타내는 에러를 슬로우합니다. 하지만 내가 그리 효과적이지 않은 무승부 방법조차도 그렇습니다. 솔루션을 이해할 수 없습니다. 내가 본 오류는 Firebug 콘솔에서 발생했습니다. 내가캔버스의 애니메이션이 작동하지 않습니다.

http://jsfiddle.net/shivkumarganesh/b8cKZ/

답변

0
setTimeout(refresh, 1000); 

에서 바이올린에 내 코드가하는 문제이다. 이 함수를 호출했지만 매개 변수를 전달하지 않습니다. 필요한 변수를 전역 변수로 선언 했으므로 refresh 매개 변수가 필요하지 않습니다.

+0

이 코드를 편집 할 수 있습니다 당 모두 100 번을 다시 그릴하지? Pls –

0
drawObj.push(new Rectangle("20", "20", "30", "40", "#3A5BCD")); 
drawObj.push(new Rectangle("50", "50", "100", "30", "#EF2B36")); 

x, y, 너비 및 높이에 대한 문자열을 전달하고 있습니다.

objArray[i].width=objArray[i].width+j; 
objArray[i].height=objArray[i].height+j; 

... 그래서 이것은 폭이 "3000000000000000000000"를 말하는 캐릭터 인 끝을 의미 문자열 연결을하지 ...

당신은 크롬의 디버거 (컨트롤 + 시프트 + J)를 사용하는 방법을 배우게한다

, 이런 문제를 쉽게 발견 할 수 있습니다.

대신의 setTimeout의 requestAnimationFrame을 사용하고 무의미한 프레임 : 애니메이션이되도록

관련 문제