delay()
함수를 사용하여 애니메이션을 만들지 마십시오.
draw()
기능이 완료 될 때까지 (또는 코드가 끝날 때까지 draw()
기능을 사용하지 않는 경우) 아무 것도 화면에 표시되지 않습니다. 모든 것은 화면에 보이지 않는 버퍼로 그려지고, draw()
함수가 끝나면 버퍼는 한 번에 모두 화면에 그려집니다.
그래서 실제로는 오프 스크린 버퍼에 직사각형을 그리고 100 밀리 초를 기다리고 또 다른 사각형을 오프 스크린 버퍼에 그리고 100 밀리 초를 기다리고 또 다른 직사각형을 그립니다. 대기중인 모든 작업이 완료 될 때까지 화면에 아무 것도 실제로 볼 수 없습니다.
애니메이션을 만들려면 루프를 사용하지 마십시오. 대신 draw()
함수를 사용하여 증가하는 스케치 수준 변수 (또는 미리 정의 된 frameCount
변수 사용)를 사용하십시오.
또 다른 문제는 동일한 색상 사각형을 반복해서 그리는 것입니다. 회색 직사각형을 그린 다음 약간 더 작은 회색 직사각형을 그 위에 놓은 다음 약간 더 작은 직사각형을 그립니다. 그래서 당신이 그리는 첫 번째 사각형과 조화를 이루기 때문에 더 작은 사각형을 실제로 보지 못할 것입니다.
실행 더 나은에 무슨 일이 일어나고 있는지 이해하기 위해이 프로그램 :
noStroke();
fill(50,50,50);
rect(0,0,100,100,0);
fill(255, 0, 0);
rect(0,0,100,100,10);
fill(0, 255, 0);
rect(0,0,100,100,20);
당신이 연결이 끊긴 조각 대신 [mcve]을 제공시겠습니까? –
채우기 색 때문에 반지름의 차이를 식별 할 수 없기 때문일 수 있습니까? –
'공공 무효 설치() { \t} \t \t 공공 무효의 설정() { \t \t 크기 (800600); \t} \t 공개 무효 연신() { \t \t 찾는 (나는이 <50, I = 0 int로 난 ++) { \t \t \t 스트로크 (100,0,0); \t \t \t fill (50,50,50); \t \t \t rect (0,0,100,100, i); \t \t \t System.out.println (i); \t \t \t 지연 (100); \t \t} \t} '이렇게 변경했는데 예상대로 작동하지 않고 루프를 완료 할 때 하나의 사각형 만 그립니다. –