작은 걸음 II — 만들며 배우기
좌표로 그림 그리기
좌표로 그림 그리기
이번에 배울 것
좌표는 화면의 위치를 숫자로 나타낸 것입니다. 창의 왼쪽 위가 (0, 0)이고 x는 오른쪽, y는 아래쪽으로 커집니다.
실행해 보기
예제 · example1.cpp
void small_main()
{
Window window;
window.open(640, 480);
window.clear(White);
window.fill_circle(320, 240, 80, Yellow);
window.draw_circle(290, 220, 10, Black);
window.draw_circle(350, 220, 10, Black);
window.draw_line(285, 275, 355, 275, Black);
window.show();
while (window.is_open())
window.show();
}
clear는 배경을 지웁니다. fill_circle(320, 240, 80, Yellow)는 중심 (320, 240), 반지름 80인 노란 원을 채웁니다. draw_circle은 테두리만 그립니다.
draw_line의 네 숫자는 시작점 x, y와 끝점 x, y입니다. 나중에 그린 것이 먼저 그린 것을 덮습니다. 노란 얼굴이 보이면 원의 위치 하나를 바꾸어 보세요.
예제 끝의 while처럼 실행할 문장이 하나이면 중괄호를 생략하기도 합니다. 직접 쓸 때는 중괄호로 묶어도 됩니다.
Exercise — 신호등
검은색 또는 Gray 사각형 안에 Red, Yellow, Green 원 세 개가 세로로 들어 있는 신호등을 그리세요.
연습 문제 코드 · exercise1_starter.cpp
void small_main()
{
Window window;
window.open(300, 500);
window.clear(White);
// Draw a traffic light here.
window.show();
while (window.is_open())
window.show();
}
Hint
먼저 fill_rectangle로 몸체를 그리고 fill_circle을 세 번 사용하세요.
풀이 보기
void small_main()
{
Window window;
window.open(300, 500);
window.clear(White);
window.fill_rectangle(75, 30, 150, 420, Gray);
window.fill_circle(150, 110, 50, Red);
window.fill_circle(150, 240, 50, Yellow);
window.fill_circle(150, 370, 50, Green);
window.show();
while (window.is_open())
window.show();
}