캔버스에서 원을 그리는 데 문제가 있습니다. 내 캔버스에 원을 그리면 잘 작동하지만 이후에 사각형을 그릴 경우 내 원의 색이 사각형과 같은 색으로 바뀝니다.Javascript Canvas - 서클의 색이 바뀌고 있습니다.
이것은 지금 당황 스럽습니다.
https://jsbin.com/bajezudayi/edit?html,js,output
당신은 원과 사각형을 (형태를 전환 상단에있는 체크 박스를 주) 그릴 수있는이 캔버스에 : 여기에 대해 이야기하고있는 것을 입증하는 jsbin 프로젝트입니다.
나는 함수의 인자가 아닌 설정 값으로 drawCircle의 색상 변수를 변경해 보았지만 문제는 지속된다.
function drawCircle(x,y,rad,col,ctx){
// This function draws a circle on a canvas
ctx.save();
ctx.translate(x,y);
ctx.beginPath();
ctx.arc(0,0,rad,0,2*Math.PI,false);
ctx.fillStyle='red'; // rather than =col
ctx.fill();
ctx.restore();
}
애니메이션 루프를 캔버스에 적용하면이 문제로 인해 더 이상한 효과가 발생하기 시작합니다.
왜 이런 생각입니까? 감사합니다.
편집 :
http://adam-day-com.stackstaging.com/orbital/index.html
가 '쇼 벡터 필드'상자를 선택하십시오 일부 행성을 추가 는 여기에 현재 작업하고있는 전체 프로젝트입니다. 벡터 필드 (애니메이션 루프라고 함)를 그리는 함수는 일련의 얇은 상자를 그렸으며 원 색상을 엉망으로 만듭니다.
감사합니다. 이것은 내가 당신과 공유 한 jsbin 프로젝트에서 효과가 있었지만 메인 프로젝트에서는 작동하지 않습니다. 내 편집에서 질문에 체크 아웃 할 수 있습니다. 도와 줘서 고마워. 그것은 올바른 방향으로 출발합니다. 나는 계속 노력할 것이다. –
@AdamDay 여기에도 closePath가 사용되지 않습니다. http://adam-day-com.stackstaging.com/Orbital/js/drawArrow.js 및 http://adam-day-com.stackstaging.com/Orbital/js/drawCircle.js – xadhix
죄송합니다. 로컬로 업로드 한 다음 웹 호스팅 서비스에 업로드합니다. 서버에서 파일을 업데이트하는 것을 잊었습니다. 이제 좋은되어야합니다 –