티스토리 뷰

이름   draw()

예제 

float yPos = 0.0;

void setup() {  // setup()은 한 번만 실행됩니다
  size(200, 200);
  frameRate(30);
}
 
void draw() {  // draw()는 프로그램이 멈출 때까지 끝없이 반복실행됩니다
  background(204);
  yPos = yPos - 1.0;
  if (yPos < 0) {
    yPos = height;
  }
  line(0, yPos, width, yPos);
}

___________________________________________________________________________
void setup() {
  size(200, 200);
}

// 여기에서는 draw() 부분이 비어있지만,
// draw()는 사용자 입력을 처리하기 위해 여전히 필요합니다
// (이 경우에는 마우스 입력)
void draw() { }

void mousePressed() {
  line(mouseX, 10, mouseX, 90);
}

설명

setup() 바로 다음에 호출되는 draw() 함수는 프로그램이 멈추거나 noLoop() 함수가 호출되기 전까지
블럭 안의 코드들을 계속해서 반복 실행합니다. 
draw() 함수는 자동으로 호출되므로 따로 호출할 필요가 없습니다.
모든 프로세싱 프로그램들은 오직 draw()가 끝나는 부분에서만 화면을 업데이트합니다. 


draw() 안의 코드가 반복해서 실행되는 것을 멈추고 싶다면, noLoop(), redraw() 그리고 loop()를 사용하십시오.
만약 
noLoop()draw() 내부의 코드 실행을 멈추는 데 사용된다면, redraw()draw()의 코드를 한 번만 실행하도록 만들어줄 것이고, loop()draw()의 코드들이 다시 반복적으로 실행되도록 되돌릴 것입니다.

매초마다 draw()가 실행되는 횟수는 frameRate() 함수를 사용해서 조절할 수 있습니다.

위의 첫번째 예제에서 보이듯이, 실행창의 내용을 비우기 위해서 draw() 루프가 시작되는 곳 근처에서
background() 함수를 호출하는것이 일반적입니다.
실행창에 그려진 픽셀들은 누적되는 것이기 때문에,
background() 를 생략하면 의도하지 않은 결과가
나타날 수 있습니다.

하나의 스케치에는 단 하나의 draw() 함수만이 존재할 수 있고, draw() 함수는 코드를 반복적으로 실행하기를 원할 때나 mousePressed()같은 작업을 처리 해야할 때만 사용해야 합니다.
때때로, 위의 두번째 예제에서 보이듯이 
draw() 함수가 비어있는 채로 여러분의 프로그램에 호출 될수도 있습니다.

문법

draw()


반환

void

연관항목

setup()
loop()
noLoop()
redraw()
frameRate()
background()

댓글