작은 걸음 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();
    }
}
← 이전 레슨다음 레슨 →