작은 걸음 II — 만들며 배우기
마우스를 따라가는 원
마우스를 따라가는 원
이번에 배울 것
마우스 위치도 창 안의 x, y 좌표로 읽을 수 있습니다.
실행해 보기
예제 · example1.cpp
void small_main()
{
Window window;
window.open(640, 480);
while (window.is_open())
{
window.clear(White);
window.fill_circle(window.mouse_x(), window.mouse_y(), 12, Red);
window.show();
}
}
mouse_x와 mouse_y가 돌려준 위치를 원의 중심으로 사용합니다. 매번 배경을 지우고 새 위치에 그리므로 원 하나가 마우스를 따라갑니다. 창 안에서 마우스를 움직여 보세요.
Exercise — 클릭 위치 표시
왼쪽 버튼을 누르고 있는 동안 마우스 위치에 Yellow 원을 표시하고, 누르지 않을 때는 작은 Gray 원을 표시하세요.
연습 문제 코드 · exercise1_starter.cpp
void small_main()
{
Window window;
window.open(640, 480);
while (window.is_open())
{
window.clear(Black);
// Draw a different circle while the left button is down.
window.show();
}
}
Hint
mouse_down(MouseButton::Left)로 두 경우를 나누세요.
풀이 보기
void small_main()
{
Window window;
window.open(640, 480);
while (window.is_open())
{
window.clear(Black);
if (window.mouse_down(MouseButton::Left))
window.fill_circle(window.mouse_x(), window.mouse_y(), 25, Yellow);
else
window.fill_circle(window.mouse_x(), window.mouse_y(), 8, Gray);
window.show();
}
}