2011-10-27 4 views
0

캔버스에서 선을 지우고 다시 그릴 때 clearRect를 사용하지만 때로는 선이 남아 있습니다. 내가 어디가 잘못 될지 모르겠다. 여기에 데모를 업로드했습니다. 내가 선을 전달하고있어Canvas clearRect 내 모든 줄을 지우지 않습니다.

http://zackseuberling.com/screenshots/screen_shot_2011-10-27_at_11.19.29_am_bd26.png

는 "down_right"는 등이다이

all_curves = [ 
      ['down_right', 
        [255, 250, 100, 40] 
      ], 
      ['right_down', 
        [355, 290, 330, 245] 
      ] 
    ] 

같은 다중 계층 배열로 그리려면이 문제의 스크린 샷입니다 곡선 경로 및 정수 배열은 곡선의 x, y, 길이 및 높이입니다.

는 라인

내가 코드를 다시 한
for(each_line in all_curves){ 
      mask_draw(this, all_curves[each_line][0], all_curves[each_line][1][0], all_curves[each_line][1][1], all_curves[each_line][1][2], all_curves[each_line][1][3]); 
    } 
+3

내가 잘못 한 것을 알 수 있도록 소스 코드를 제공해주십시오. –

+0

일부 코드 단편을 추가했지만 모든 도면이 도면 객체로 래핑되었습니다. 모든 것은 여기에서 가능합니다 : http://rumors-studio.com/test/Spheres-of-Influence_Stack_2/js/lines.js – zack

+0

좋아요, 당신의 소스 코드를 보았습니다. 모바일 장치 용 (핑크색), 인터페이스 장치 용 (녹색), 개인 장치 용 (파란색) 및 특정 장치를 클릭하고 팝업이 나타나는 (회색) 마스크 용 캔버스 요소가 있습니다. 장치를 클릭하면 처음 세 개의 캔버스 요소가 검은 색으로 다시 그려지고 마스크는 장치의 위쪽 경로를 표시합니다. 자, 스크린 샷에서 여분의 마스크 경로가 그려져 있음을 알 수 있습니다. jQuery 이벤트 및 여러 캔버스 요소를 사용하기 때문입니다. 이 줄을 따라. –

답변

0

을 그리는 코드, 그리고 나는 그것이 제대로 작동 생각합니다. 내 생각에 문제는 여러 캔버스 요소를 사용하고 CSS를 사용하여 오버레이하는 것입니다. MediaFirezip 자료실을 업로드 했으므로 여기에서 다운로드 할 수 있습니다. index.html 파일 만 변경했으며 js 폴더에 새로운 stack.js 파일을 만들었습니다. 질문이 있으시면 언제든지 물어보십시오. 희망이 도움이됩니다.

관련 문제